メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 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_to メソッドを使用してバケット間でオブジェクトをコピーする方法を示しています。

Copy
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 ***' s3 = Aws::S3::Client.new(region: 'us-west-2') s3.copy_object({bucket: source_bucket_name, copy_source: target_bucket_name + '/' + source_key, key: target_key}) puts "Copying file #{source_key} to #{target_key}."

次の Ruby サンプルスクリプトは、#copy_from メソッドを使用してオブジェクトのコピーを作成します。異なるキーを使ってコピーしたオブジェクトが、同じコピー元バケットに保存されます。実際に動作するコードを作成、テストする方法については、「AWS SDK for Ruby バージョン 3 の使用」を参照してください。

Copy
require 'aws-sdk-s3' bucket_name = '*** Provide bucket name ***' source_key = '*** Provide source key ***' target_key = '*** Provide target key ***' s3 = Aws::S3::Client.new(region: 'us-west-2') s3.copy_object({bucket: bucket_name, copy_source: bucket_name + '/' + source_key, key: target_key}) puts "Copying file #{source_key} to #{target_key}.""