Ini biasanya memerlukan panggilan API khusus per kunci (file), tetapi telah sangat disederhanakan karena diperkenalkannya Amazon S3 - Multi-Object Delete pada Desember 2011:
Multi-Object Delete baru dari Amazon S3 memberi Anda kemampuan untuk menghapus hingga 1000 objek dari bucket S3 dengan satu permintaan.
Lihat jawaban saya untuk pertanyaan terkait hapus dari S3 menggunakan api php menggunakan wildcard untuk informasi lebih lanjut tentang ini dan masing-masing contoh di PHP ( AWS SDK untuk PHP mendukung ini sejak versi 1.4.8 ).
Sementara itu, sebagian besar perpustakaan klien AWS telah memperkenalkan dukungan khusus untuk fungsionalitas ini, misalnya:
Python
Anda dapat mencapai ini dengan antarmuka boto Python yang sangat baik ke AWS kira-kira sebagai berikut (belum teruji, dari atas kepala saya):
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])
Rubi
Ini tersedia sejak versi 1.24 dari AWS SDK untuk Ruby dan catatan rilis juga menyediakan contoh:
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!
Atau:
AWS::S3::Bucket.delete('your_bucket', :force => true)