分片上传接口 返回结果 UploadPartCopyOutput返回的属性如下: 参数 类型 说明 CopyPartResult CopyPartResult 包含拷贝分片的Entity Tag和最后修改时间等信息 取消分片上传任务 功能说明 取消分片上传任务操作用于终止一个分片上传。当一个分片上传被中止后,不会再有数据通过与之相应的upload id上传,同时已经被上传的分片所占用的空间会被释放。执行取消分片上传任务操作后,正在上传的分片可能会上传成功也可能会被中止,所以必要的情况下需要执行多次取消分片上传任务操作去释放全部上传成功的分片所占用的空间。可以通过执行列举已上传分片操作来确认所有中止分片上传后所有已上传分片的空间是否被被释放。 代码示例 plaintext func AbortMultipartUpload(svc s3.S3, bucket, key, uploadId string) { abortMultipartUploadInput : &s3.AbortMultipartUploadInput{ Bucket: aws.String(" "), Key: aws.String(" "), UploadId: aws.String(" "), } abortMultipartUploadOutput, err : svc.AbortMultipartUpload(abortMultipartUploadInput) if err ! nil { fmt.Printf("fail to AbortMultipartUpload. %vn", err) return } fmt.Println(abortMultipartUploadOutput) } 通过AbortMultipartUploadRequest操作: AbortMultipartUploadRequest操作首先生成一个"request.Request"对象,该对象是一个执行AbortMultipartUploadRequest操作的请求。通过调用Request对象的Send方法来中止一个分片上传操作。该方法可以生成定制化的请求,例如自定义请求头部请求超时重试设置。 plaintext func AbortMultipartUploadRequest(svc s3.S3) { abortMultipartUploadInput : &s3.AbortMultipartUploadInput{ Bucket: aws.String(" "), Key: aws.String(" "), UploadId: aws.String(" "), } req, abortMultipartUploadOutput : svc.AbortMultipartUploadRequest(abortMultipartUploadInput) err : req.Send() if err ! nil { fmt.Printf("fail to AbortMultipartUpload. %vn", err) } else { fmt.Println(abortMultipartUploadOutput) } }
来自: