Удалите "Папку" на 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
Вы должны удалить все файлы в папке, после того как вы можете удалить папку.