Как переименовать папку в корзине на S3? - PullRequest
8 голосов
/ 04 августа 2010

Как бы просто это ни звучало, это кажется чрезвычайно сложной задачей.

Ответы [ 4 ]

11 голосов
/ 14 апреля 2011

Если вы используете гем aws-s3, следующий код переименует папку OLD_FOLDER_NAME в корзине BUCKET_NAME в NEW_FOLDER_NAME:

bsize = OLD_FOLDER_NAME.size
bucket = AWS::S3::Bucket.find(BUCKET_NAME)
bucket.objects({:prefix=>OLD_FOLDER_NAME}).each do |o|
  AWS::S3::S3Object.rename(o.key, NEW_FOLDER_NAME + o.key[bsize..-1], BUCKET_NAME)
end

Вот и все.Папки не являются реальными объектами, поэтому все, что вам нужно сделать, это переименовать все объекты, которые попадают в этот конкретный путь к новому пути.В результате виртуальная папка будет переименована.

9 голосов
/ 26 ноября 2013

Похоже на Интерфейс командной строки AWS это новый способ делать такие вещи, как это. Используя его, вы можете переименовать папку следующим образом:

aws s3 mv --recursive s3://bucketname/oldfoldername s3://bucketname/newfoldername

Обязательно начните с опции --dryrun, чтобы убедиться, что она будет делать то, что, как вы думаете, она сделает.

1 голос
/ 01 июня 2016

Если вы используете консоль управления S3, вы можете вырезать и вставлять. Перейдите в нужную папку, нажмите Ctrl + A, затем нажмите «Действия»> «Вырезать». Создайте новую папку и нажмите «Действия»> «Вставить».

0 голосов
/ 10 августа 2010

Используйте BucketExplorer!Это отличное приложение!Вы можете делать практически все, что вы когда-либо хотели сделать с вашим s3, в очень простом для понимания графическом интерфейсе

...