1 Answer
- Newest
- Most votes
- Most comments
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.
answered 4 years ago
Relevant content
- asked 3 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 months ago