gpt4 book ai didi

python - 使用 python 和 boto3 删除 S3 对象时出现问题

转载 作者:行者123 更新时间:2023-12-01 08:22:03 30 4
gpt4 key购买 nike

我正在努力从 AWS S3 存储桶中删除不需要的文件,然后再将其转换为长期 Glacier 存储。我正在使用 Python 运行以下脚本和boto3 :

import boto3

s3 = boto3.resource('s3')

bucket = s3.Bucket(<mybucketname>)

for obj in bucket.objects.all():
if '.DS_S' in obj.key or '.ini' in obj.key:
item_obj = s3.Object(obj.bucket_name, obj.key)
print(obj.key, item_obj.content_length)
del_resp = item_obj.delete()
print("Delete response for", obj.key, "is\n", del_resp)

根据documentation here - delete方法应该返回包含 3 个结果的字典 - 但这里是我从其中一个调用中看到的响应示例 - 它不是文档中的内容:

camera pics/Digi Pics/Camera 06-08/.DS_Store 24580 Delete response for camera pics/Digi Pics/Camera 06-08/.DS_Store is {'ResponseMetadata': {'RequestId': '3B5CA1A9B0766A6B', 'HostId': 'HDWyoQg+RNrRZRC3nvqD8kR4bKDuMkTqDf7a7gGSD0lRUvucg56W76hG0+VP8BZ04oq+INsQUIY=', 'HTTPStatusCode': 204, 'HTTPHeaders': {'x-amz-id-2': 'HDWyoQg+RNrRZRC3nvqD8kR4bKDuMkTqDf7a7gGSD0lRUvucg56W76hG0+VP8BZ04oq+INsQUIY=', 'x-amz-request-id': '3B5CA1A9B0766A6B', 'date': 'Thu, 07 Feb 2019 16:00:26 GMT', 'server': 'AmazonS3'}, 'RetryAttempts': 0}}

响应的 http 响应为 204 - 所以它似乎在某种程度上是成功的 - 但当我查看 S3 存储桶时 - 该文件尚未被删除。我没有收到任何 Python 错误代码。

有什么想法吗?

最佳答案

原始代码似乎有效 - 但 AWS S3 花了一些时间来实际执行删除 - 我无法以任何其他方式解释我所看到的内容。我想要消失的文件现在已经消失了。

关于python - 使用 python 和 boto3 删除 S3 对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54578231/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com