func()

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
}