演示如何使用 boto3 从 S3 存储桶中删除一个或多个特定密钥
Demonstrate how to delete a particular key or keys from an S3 bucket using boto3
此 boto3 function 允许从 S3 存储桶中删除密钥列表。请您演示如何使用它的示例:
- 要删除的单个密钥。
- 要删除的多个键的列表。
谢谢。
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
此 boto3 function 允许从 S3 存储桶中删除密钥列表。请您演示如何使用它的示例:
- 要删除的单个密钥。
- 要删除的多个键的列表。
谢谢。
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