1 個回答
- 最新
- 最多得票
- 最多評論
0
It looks like this was due to having versioning enabled on this bucket, and having lots of deleted objects retained as previous versions.
If I did something like this:
import boto3
s3 = boto3.resource("s3")
bucket = s3.Bucket("shareablee-next")
for obj in bucket.object_versions.filter(Prefix='testing/'):
print(obj.key)
I was able to quickly list object versions. It appears that the normal object list operation was slow because it had to filter out many, many, deleted objects first.
My ultimate goal was to delete this objects along with their previous versions, so I can also just use this:
import boto3
s3 = boto3.resource("s3")
bucket = s3.Bucket("shareablee-next")
bucket.object_versions.filter(Prefix='testing/').delete()
I had also set up a lifecycle rule, but it also seemed to be delayed by the slow listing. Now that I've run this delete script for a while, I can list the bucket again, and there are still objects that should have been deleted by now.
已回答 4 年前
相關內容
- AWS 官方已更新 1 年前