I have released an OSS tool that solves the following problems.
The button to empty an S3 bucket is present in the S3 console but not in the CLI ...
For further actions, you may consider blocking this person and/or reporting abuse
Nice. Thank you so much :)!
This tool is amazing. Thanks so much.
Regarding concurrency numbers, is there any indication of how high we can go before AWS start rejecting.
I am running at the moment with 5 concurrency to remove 28 million items in a bucket.
but have another one with 50 million items and 1.8TB worth of Data.
Thank you @karlforster !
Actually, the concurrency number in cls3 controls how many buckets are deleted in parallel — it doesn't control parallelism for the objects within a single bucket.
That's because cls3 deletes objects using the following loop, which alternates between a synchronous
Listand an asynchronousDelete:ListObjectVersions(sync) → 1000-objectDeleteObjects(async, immediately moves on) → next 1000-objectList(sync) → next 1000-objectDeleteObjects(async) → ...You can't delete an object without listing it first, so this design gives the best performance. Both
ListandDeleteObjectscan handle only up to 1000 items per call, andListhas to fetch the current page before it can move on to the next one — so within a single bucket, deletes are fired asynchronously in the background of the nextList, rather than running in parallel.NOTE: S3's
DeleteObjectsAPI is designed to throttle once you exceed roughly 3,500 deletions per second. However, eachDeleteObjectscall typically finishes during the time the nextListis running, so we don't put a cap on the number of in-flight async deletes.love this
Thank you! So happy!
Would it be possible to use this with custom endpoint-url's?
@andrew_61cd5f1f140a
Hi, The custom endpoint url is now supported in v0.28.0. It can be used with the
-e|--endpointUrloption or by specifying the environment variableCLS3_ENDPOINT_URL.github.com/go-to-k/cls3/releases/t...
Awesome. I will try to do that in the near future!
github.com/go-to-k/cls3/issues/363
@mmuller88
Thank you too! Please use it!