本文整理匯總了Golang中github.com/aws/aws-sdk-go/service/devicefarm.DeviceFarm.GetUpload方法的典型用法代碼示例。如果您正苦於以下問題:Golang DeviceFarm.GetUpload方法的具體用法?Golang DeviceFarm.GetUpload怎麽用?Golang DeviceFarm.GetUpload使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/aws/aws-sdk-go/service/devicefarm.DeviceFarm
的用法示例。
在下文中一共展示了DeviceFarm.GetUpload方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: GetUploadStatus
// GetUploadStatus returns status of upload file
func GetUploadStatus(client *devicefarm.DeviceFarm, arn string) string {
params := &devicefarm.GetUploadInput{
Arn: aws.String(arn),
}
resp, err := client.GetUpload(params)
errors.Validate(err, "Failed to get status of upload")
log.Println("Status of upload:", *resp.Upload.Status)
return *resp.Upload.Status
}
示例2: uploadInfo
/* Get Upload Info */
func uploadInfo(svc *devicefarm.DeviceFarm, uploadArn string) {
uploadReq := &devicefarm.GetUploadInput{
Arn: aws.String(uploadArn),
}
resp, err := svc.GetUpload(uploadReq)
failOnErr(err, "error getting upload info")
fmt.Println(awsutil.Prettify(resp))
}
示例3: uploadPut
/* Upload a file */
func uploadPut(svc *devicefarm.DeviceFarm, uploadFilePath string, uploadType string, projectArn string, uploadName string) (upload *devicefarm.Upload, err error) {
debug := true
// Read File
file, err := os.Open(uploadFilePath)
if err != nil {
return nil, err
fmt.Println(err)
}
defer file.Close()
// Get file size
fileInfo, _ := file.Stat()
var fileSize int64 = fileInfo.Size()
// read file content to buffer
buffer := make([]byte, fileSize)
file.Read(buffer)
fileBytes := bytes.NewReader(buffer) // convert to io.ReadSeeker type
// Prepare upload
if uploadName == "" {
uploadName = path.Base(uploadFilePath)
}
uploadReq := &devicefarm.CreateUploadInput{
Name: aws.String(uploadName),
ProjectArn: aws.String(projectArn),
Type: aws.String(uploadType),
ContentType: aws.String("application/octet-stream"),
}
uploadResp, err := svc.CreateUpload(uploadReq)
if err != nil {
log.Fatal(err)
return nil, err
}
uploadInfo := uploadResp.Upload
upload_url := *uploadInfo.Url
if debug {
fmt.Println("- Upload Response result:")
fmt.Println(awsutil.Prettify(uploadResp))
fmt.Println(upload_url)
}
req, err := http.NewRequest("PUT", upload_url, fileBytes)
if err != nil {
log.Fatal(err)
return nil, err
}
// Remove Host and split to get [0] = path & [1] = querystring
strippedUrl := strings.Split(strings.Replace(upload_url, "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/", "/", -1), "?")
req.URL.Opaque = strippedUrl[0]
req.URL.RawQuery = strippedUrl[1]
req.Header.Set("Content-Type", "application/octet-stream")
req.Header.Add("Content-Length", strconv.FormatInt(fileSize, 10))
// Debug Request to AWS
if debug {
fmt.Println("- HTTP Upload Request")
debugHTTP(httputil.DumpRequestOut(req, false))
}
client := &http.Client{}
res, err := client.Do(req)
if debug {
fmt.Println("- HTTP Upload Response")
dump, _ := httputil.DumpResponse(res, true)
log.Printf("} -> %s\n", dump)
}
if err != nil {
log.Fatal(err)
return nil, err
}
defer res.Body.Close()
status := ""
for status != "SUCCEEDED" {
fmt.Print(".")
time.Sleep(4 * time.Second)
uploadReq := &devicefarm.GetUploadInput{
Arn: uploadInfo.Arn,
}
resp, err := svc.GetUpload(uploadReq)
//.........這裏部分代碼省略.........