Как скопировать все файлы и подпапки из одной папки в другую папку в том же сегменте AWS S3 в Ruby - PullRequest
0 голосов
/ 03 февраля 2020

Я создал папку с именем Резервная копия с именем корзины S3 Хьюстон . У меня есть другое имя папки Журналы , где я могу видеть все журналы приложений. Журналы * Папка может содержать несколько файлов и подпапок. Я хочу скопировать все файлы и подпапки из папки Logs в папку Backup .

Я использую Ruby AWS sdk.

1 Ответ

0 голосов
/ 03 февраля 2020

Нет вызова API Amazon S3 для копирования папок.

Вам потребуется:

  • Вывести содержимое корзины источника
  • L oop через каждый объект и используйте CopyObject() для копирования объекта в другое место

Из Копирование объекта с помощью AWS SDK для Ruby - Amazon Simple Storage Service :

require 'aws-sdk-s3'

source_bucket_name = '*** Provide bucket name ***'
target_bucket_name = '*** Provide bucket name ***'
source_key = '*** Provide source key ***'
target_key = '*** Provide target key ***'

begin
  s3 = Aws::S3::Client.new(region: 'us-west-2')
  s3.copy_object(bucket: target_bucket_name, copy_source: source_bucket_name + '/' + source_key, key: target_key)
rescue StandardError => ex
  puts 'Caught exception copying object ' + source_key + ' from bucket ' + source_bucket_name + ' to bucket ' + target_bucket_name + ' as ' + target_key + ':'
  puts ex.message
end

puts 'Copied ' +  source_key + ' from bucket ' + source_bucket_name + ' to bucket ' + target_bucket_name + ' as ' + target_key
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...