Bu, eskiden anahtar (dosya) başına özel bir API çağrısı gerektiriyordu, ancak Aralık 2011'de Amazon S3 - Çok Nesneli Silme'nin kullanıma sunulmasıyla büyük ölçüde basitleştirildi :
Amazon S3'ün yeni Çoklu Nesne Silme özelliği, size tek bir istekle bir S3 klasöründen 1000 adede kadar nesneyi silme olanağı sağlar.
Bu ve PHP'deki ilgili örnekler hakkında daha fazla bilgi için api php kullanarak api php kullanarak S3'ten silme ile ilgili soruya verdiğim cevaba bakın (PHP için AWS SDK bunu sürüm 1.4.8'den beri desteklemektedir ).
Çoğu AWS istemci kitaplığı bu arada bu işlevsellik için şu veya bu şekilde özel destek sağlamıştır, örneğin:
Python
Bunu, AWS'ye mükemmel boto Python arayüzü ile kabaca aşağıdaki gibi (test edilmemiş, kafamın üstünden) başarabilirsiniz :
import boto
s3 = boto.connect_s3()
bucket = s3.get_bucket("bucketname")
bucketListResultSet = bucket.list(prefix="foo/bar")
result = bucket.delete_keys([key.name for key in bucketListResultSet])
Yakut
Bu, Ruby için AWS SDK'nın 1.24 sürümünden beri mevcuttur ve sürüm notları da bir örnek sağlar:
bucket = AWS::S3.new.buckets['mybucket']
bucket.objects.delete('key1', 'key2', 'key3', ...)
bucket.objects.with_prefix('2009/').delete_all
bucket.objects.delete_if{|object| object.key =~ /\.pdf$/ }
bucket.delete!
Veya:
AWS::S3::Bucket.delete('your_bucket', :force => true)