Amazon Simple Storage Service
開発者ガイド (API バージョン 2006-03-01)

AWS SDK for Ruby を使用したオブジェクトのコピー

以下のタスクは、Ruby のクラスを使用して、Amazon S3 内のバケット間または同一バケット内でオブジェクトをコピーする手順を示しています。

オブジェクトのコピー

1

AWS SDK for Ruby のバージョン 3 用の Amazon S3 のモジュール化された gem を使用し、aws-sdk-s3 を要求して、AWS 認証情報を提供します。認証情報の指定の詳細については、「AWS アカウントまたは IAM ユーザーの認証情報を使用したリクエストの実行」を参照してください。

2

コピー元のバケット名、コピー元のキー名、コピー先のバケット名、コピー先のキー名などのリクエスト情報を提供します。

次の Ruby サンプルコードは、前のタスクで #copy_object メソッドを使用してバケット間でオブジェクトをコピーする方法を示しています。

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