AWS SDK for Ruby バージョン 3 の使用 - Amazon Simple Storage Service

AWS SDK for Ruby バージョン 3 の使用

AWS SDK for Ruby は、Amazon S3 のバケットおよびオブジェクトオペレーションのための API を提供しています。オブジェクト操作用として、API を使用して単一操作で複数のオブジェクトをアップロードしたり、大きなオブジェクトをパートごとにアップロードしたりできます (マルチパートアップロードを使用したオブジェクトのアップロード を参照)。しかし、単一操作でのアップロード用の API は、大きなオブジェクトも受け付けて背後でパートに分割してアップロードすることができるため、スクリプト作成の作業を単純化できます。

Ruby API の構成

AWS SDK for Ruby を使用して Amazon S3 アプリケーションを作成する場合は、SDK for Ruby gem をインストールする必要があります。詳細については、 AWS SDK for Ruby - バージョン 3を参照してください。インストールが完了すると、以下のキークラスを含む API を使用できるようになります。

  • Aws::S3::Resource— Ruby SDK の Amazon S3 へのインターフェイスを表し、バケットの作成と列挙のメソッドを提供します。

    S3 クラスは、既存のバケットにアクセスしたり新しいバケットを作成したりするための #buckets インスタンスメソッドを提供します。

  • Aws::S3::Bucket— Amazon S3 バケットを表します。 

    Bucket クラスは、バケット内のオブジェクトにアクセスするための #object(key)#objects メソッドに加え、バケットを削除したり、バケットのポリシーといったバケットに関する情報を返したりするメソッドを提供します。

  • Aws::S3::Object— キーによって識別される Amazon S3 オブジェクトを表します。

    Object クラスは、オブジェクトのプロパティを取得および設定するメソッド、オブジェクト保管のためにストレージクラスを指定するメソッド、およびアクセスコントロールリストを使用してオブジェクトのアクセス許可を設定するメソッドを提供します。Object クラスには、オブジェクトを削除、アップロード、およびコピーするメソッドもあります。オブジェクトをパートごとにアップロードする場合、このクラスが提供するオプションを使用して、アップロードするパートの順序やパートのサイズを指定できます。

AWS SDK for Ruby API の詳細については、AWS SDK for Ruby - バージョン 2 を参照してください。

Ruby スクリプト例のテスト

Ruby スクリプト例を使う最も簡単な方法は、最新の AWS SDK for Ruby gem をインストールすることです。最新の Gem のインストールと更新については、AWS SDK for Ruby - バージョン 3 を参照してください。以下のタスクは、AWS SDK for Ruby が既にインストールされているものとして、Ruby スクリプト例を作成およびテストする手順を示しています。

1

AWS にアクセスするには、SDK for Ruby アプリケーションの認証情報を提供する必要があります。詳細については、AWS SDK for Ruby の設定を参照してください。

2

新しい SDK for Ruby スクリプトを作成し、スクリプトの先頭に以下の行を追加します。

#!/usr/bin/env ruby require 'rubygems' require 'aws-sdk-s3'

最初の行はインタプリタ指示文で、2 つの require 文によって必要な 2 つの gem がスクリプトにインポートされます。

3

任意のセクションからスクリプトにコードをコピーします。

4

必要なデータを指定してコードを修正します。たとえばファイルをアップロードする場合は、ファイルのパスとバケットの名前を指定します。

5

スクリプトを実行します。 を使用して、バケットとオブジェクトに加えられた変更を確認しますAWS Management Console AWS Management Console の詳細については、https://aws.amazon.com/console/ を参照してください。

Ruby サンプル

以下のリンクには、SDK for Ruby - バージョン 3 の使用の開始を支援するためのサンプルが含まれています。