#amazon-web-services #amazon-s3 #aws-cli
#amazon-web-services #amazon-s3 #aws-cli
Вопрос:
У меня есть несколько старых загруженных объектов S3, которые должны были быть в формате вложенной папки / имени файла, но по ошибке использовали обратную косую черту, которая сделала вложенную папку частью имени файла фактического объекта.
Используя aws cli, как я смогу рекурсивно запускать все мои объекты с обратной косой чертой ( folderfile
), создавать новую вложенную папку с именем папки и помещать объект с правильным именем файла внутри ( folder/file
) ?
Из этого
bucket
folder1file1
folder1file2
folder1file3
Для этого
bucket
folder1
file1
file2
file3
Ответ №1:
У S3 нет «папок», у него есть только «ключи».
Вам нужно перечислить все объекты, а затем скопировать объект в ключ с соответствующим / в нем, например folder1/file1
, затем вы можете удалить старый файл. В S3 нет операции перемещения. И вам не нужно будет создавать папку. «Папки» существуют только в веб-консоли aws, поскольку они необходимы для взаимодействия с человеком.
Комментарии:
1. Итак, «папки», которые я вижу в веб-консоли, фактически являются просто ключами, которые все еще являются частью пути всего объекта? Итак, как я смогу сделать то, что я хочу, используя aws cli?
2. @slimjourney сначала вам нужно
list
отфильтровать список в соответствии с вашей логикой, а затемcopy
и затемdelete
.