in dth/client.go [421:449]
func (c *S3Client) CreateMultipartUpload(ctx context.Context, key, storageClass, acl *string, meta *Metadata) (uploadID *string, err error) {
// log.Printf("S3> Create Multipart Upload for %s\n", *key)
if *acl == "" {
*acl = string(types.ObjectCannedACLBucketOwnerFullControl)
}
input := &s3.CreateMultipartUploadInput{
Bucket: &c.bucket,
Key: key,
StorageClass: types.StorageClass(*storageClass),
ACL: types.ObjectCannedACL(*acl),
}
if meta != nil {
input.ContentType = meta.ContentType
input.ContentEncoding = meta.ContentEncoding
input.ContentLanguage = meta.ContentLanguage
input.CacheControl = meta.CacheControl
input.Metadata = meta.Metadata
}
output, err := c.client.CreateMultipartUpload(ctx, input)
if err != nil {
log.Printf("S3> Unable to create multipart upload for %s - %s\n", *key, err.Error())
} else {
uploadID = output.UploadId
// log.Printf("S3> Create Multipart Upload for %s - upload id is %s\n", key, *output.UploadId)
}
return
}