本文整理汇总了Golang中github.com/aws/aws-sdk-go/service/s3.S3.DeleteObjects方法的典型用法代码示例。如果您正苦于以下问题:Golang S3.DeleteObjects方法的具体用法?Golang S3.DeleteObjects怎么用?Golang S3.DeleteObjects使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/aws/aws-sdk-go/service/s3.S3
的用法示例。
在下文中一共展示了S3.DeleteObjects方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: deleteObjects
func deleteObjects(bucket string, objs []Obj, wg *sync.WaitGroup, S3 *s3.S3) {
maxLen := 1000
for i := 0; i < len(objs); i += maxLen {
high := i + maxLen
if high > len(objs) {
high = len(objs)
}
objects := []*s3.ObjectIdentifier{}
for _, obj := range objs[i:high] {
objects = append(objects, &s3.ObjectIdentifier{Key: aws.String(obj.key), VersionId: aws.String(obj.id)})
}
_, err := S3.DeleteObjects(&s3.DeleteObjectsInput{
Bucket: aws.String(bucket),
Delete: &s3.Delete{
Objects: objects,
},
})
if err != nil {
fmt.Printf("Failed: %s\n", err)
}
wg.Add(-len(objects))
}
return
}
示例2: s3Delete
func s3Delete(svc *s3.S3, bucket string, keys []*s3.ObjectIdentifier) *s3.DeleteObjectsOutput {
params := &s3.DeleteObjectsInput{
Bucket: aws.String(bucket),
Delete: &s3.Delete{Objects: keys},
}
result, err := svc.DeleteObjects(params)
if err != nil {
log.Printf("Error deleting from s3: %v", err)
}
return result
}
示例3: DeleteS3Objects
// DeleteS3Objects deletes the objects specified by the given object keys
func DeleteS3Objects(client *s3.S3, bucket string, objKeys []string) (*s3.DeleteObjectsOutput, error) {
logger.Debug("DeleteS3Objects: ", bucket, "-", objKeys)
s3Ids := make([]*s3.ObjectIdentifier, len(objKeys))
for i, key := range objKeys {
s3Ids[i] = &s3.ObjectIdentifier{Key: aws.String(key)}
}
params := &s3.DeleteObjectsInput{
Bucket: aws.String(bucket), // Required
Delete: &s3.Delete{ // Required
Objects: s3Ids,
Quiet: aws.Bool(true),
},
// MFA: aws.String("MFA"),
// RequestPayer: aws.String("RequestPayer"),
}
return client.DeleteObjects(params)
}