S3 copy_object между регионами в рубине - PullRequest
0 голосов
/ 29 января 2019

Как копировать файлы между корзинами в разных регионах в AWS S3, используя гем ruby ​​aws-sdk-s3?Контейнеры находятся в регионах: ' eu-central-1 ' (target_bucket) и ' eu-west-1 ' (source_bucket).Я хочу сделать копию s3: //source_bucket/name_base.checksum в s3: //target_bucket/source_bucket/name_base.checksum

Ошибка:

[ERROR] The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

Проверка кода рубина:

require 'aws-sdk-s3'

source_bucket = 'source_bucket'
target_bucket = 'target_bucket'
name_base = 'funny_name'

begin
  s3 = Aws::S3::Client.new(
    access_key_id: '***',
    secret_access_key: '***',
    region: 'eu-west-1' # I tested also 'eu-central-1'
  )

  s3.copy_object({
    bucket: "#{target_bucket}",
    copy_source: "#{source_bucket}/#{name_base}.checksum",
    key: "#{source_bucket}/#{name_base}.checksum"
  })
rescue Aws::S3::Errors::ServiceError => e
  puts "[ERROR] #{e.message}"
end

Я не могу найти какую-либо полезную информацию об этом сценарии использования в документации: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingRuby.html https://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html#copy_object-instance_method

Iнашел старую ветку 2011 года Надеюсь что-то изменилось в этом случае: Передача региона Amazon S3?

Есть новости?

...