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

AWS SDK for Ruby を使用したオブジェクトのアップロード

AWS SDK for Ruby バージョン 3 には、Amazon S3 へのオブジェクトへのアップロードのために 2 つの方法があります。1 つ目の方法では、ディスクから任意のサイズのファイルを簡単にアップロードできる、マネージド型ファイルアップローダーを使用します。マネージド型ファイルアップローダーによる方法を使用するには、次の操作を行います。

  1. Aws::S3::Resource クラスのインスタンスを作成します。

  2. バケット名とキーで、対象オブジェクトを参照します。オブジェクトはバケット内に保持され、各オブジェクトを特定するための一意のキーを持っています。

  3. オブジェクトで #upload_file を呼び出します。

require 'aws-sdk-s3' s3 = Aws::S3::Resource.new(region:'us-west-2') obj = s3.bucket('bucket-name').object('key') obj.upload_file('/path/to/source/file')

AWS SDK for Ruby バージョン 3 でオブジェクトをアップロードできる 2 つ目の方法では、Aws::S3::Object#put メソッドを使用します。この方法は、オブジェクトが文字列であるか、ディスク上のファイルではない I/O オブジェクトである場合に役立ちます。この方法を使用するには、次の操作を行います。

  1. Aws::S3::Resource クラスのインスタンスを作成します。

  2. バケット名とキーで、対象オブジェクトを参照します。

  3. #put を呼び出し、文字列または I/O オブジェクトを渡します。

require 'aws-sdk-s3' s3 = Aws::S3::Resource.new(region:'us-west-2') obj = s3.bucket('bucket-name').object('key') # string data obj.put(body: 'Hello World!') # I/O object File.open('/path/to/source.file', 'rb') do |file| obj.put(body: file) end