繁体   English   中英

演示如何使用boto3从S3存储桶中删除特定的一个或多个键

[英]Demonstrate how to delete a particular key or keys from an S3 bucket using boto3

boto3功能允许从S3存储桶中删除密钥列表。 请您举例说明如何使用它:

  1. 要删除的单个密钥。
  2. 要删除的多个键的列表。

谢谢。

delete_objects(**kwargs)
This operation enables you to delete multiple objects from a bucket using a  single HTTP request. You may specify up to 1000 keys.

Request Syntax

response = bucket.delete_objects(
    Delete={
        'Objects': [
            {
                'Key': 'string',
                'VersionId': 'string'
            },
        ],
        'Quiet': True|False
    },
    MFA='string',
    RequestPayer='requester'
)

删除一个对象:

response = bucket.delete_objects(
    Delete={
        'Objects': [
            {
                'Key': 'myObjectKey'
            }
        ]
    }
)

删除两个对象:

response = bucket.delete_objects(
    Delete={
        'Objects': [
            {
                'Key': 'myFirstObjectKey'
            },
            {
                'Key': 'mySecondObjectKey'
            }
        ]
    }
)

我觉得文档(你链接的)使这非常明显。 我很好奇你如何发现文档令人困惑。

回答:

# Delete key(s)
forDeletion = [{'Key':'IMG_20160807_150118.jpg'}, {'Key':'IMG_20160807_150124.jpg'}]
response = bucket.delete_objects(Delete={'Objects': forDeletion})

for elem in response.get('Deleted'):
    print(elem['Key']) 

输出:

IMG_20160807_150118.jpg
IMG_20160807_150124.jpg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM