本文整理匯總了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)
}