Удалите "Папку" на Amazon S3 с помощью драгоценного камня aws-sdk

Я могу удалить отдельные файлы в "Папке" на Amazon S3, используя следующие:

s3 = AWS::S3.new(:access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_ACCESS_KEY'])
folder_path = 'uploads/'[email protected]_filename
s3.buckets[ENV['AWS_BUCKET']].objects.with_prefix(folder_path).delete_all

но это оставляет пустую папку. Как я могу просто полностью удалить папку (folder_path)?

3 ответа

Это старый вопрос, но вы можете сделать это для aws-sdk 2.0>

s3 = Aws::S3::Resource.new
folder = 'path/to/the/folder'
objects = s3.bucket(ENV['S3_BUCKET_NAME']).objects({prefix: folder})
objects.batch_delete!

delete был амортизирован

Надеюсь это поможет!

Все на S3 - это объект, которым вы можете манипулировать с помощью своего "ключа". Если вы просто захватите его, вы можете позвонить delete в теме:

s3.buckets[ENV['AWS_BUCKET']].objects["name of the folder"].delete

Вы должны удалить все файлы в папке, после того как вы можете удалить папку.

Другие вопросы по тегам