Amazon S3 オブジェクトでの大規模なバッチ操作の実行 - Amazon Simple Storage Service

Amazon S3 オブジェクトでの大規模なバッチ操作の実行

S3 バッチ操作を使用すると、Amazon S3 のオブジェクトに対して大規模なバッチ操作を実行することができます。S3 バッチ操作では、指定した Amazon S3 のオブジェクトのリストに対して、1 つのオペレーションを実行できます。1 つのジョブで、エクサバイトのデータを含む数十億ものオブジェクトに対して、指定されたオペレーションを実行できます。Amazon S3 は、進捗状況の追跡、通知の送信、すべてのアクションの詳細な完了レポートの保存を行い、フルマネージド型の監査可能なサーバーレスエクスペリエンスを提供します。AWS Management Console、AWS CLI、Amazon SDK、または REST API を使用して S3 バッチ操作を使用できます。

S3 バッチ操作は、オブジェクトをコピーしたり、オブジェクトにタグやアクセスコントロールリスト (ACL) を設定したりするために使用できます。また、Amazon S3 Glacier からオブジェクトの復元を行ったり、AWS Lambda 関数を呼び出してオブジェクトを使用してカスタムアクションを実行したりすることもできます。これらのオペレーションは、指定したオブジェクトのカスタムリストに対して実行できます。また、Amazon S3 インベントリレポートを使用して、オブジェクトのリストを簡単に作成することもできます。Amazon S3 バッチ操作では、Amazon S3 で既に使用しているものと同じ Amazon S3 の API を使用するため、使い慣れたインターフェイスを使用できます。

S3 バッチ操作の基本

S3 バッチ操作を使用すると、Amazon S3 のオブジェクトに対して大規模なバッチ操作を実行することができます。S3 バッチ操作では、指定した Amazon S3 のオブジェクトのリストに対して、1 つのオペレーションまたはアクションを実行できます。

Terminology

このセクションでは、次のように定義されるジョブオペレーション、およびタスクの用語を使用します。

ジョブ

ジョブは、S3 バッチ操作の基本単位です。ジョブには、マニフェストにリストされているオブジェクトに対して指定されたオペレーションを実行するために必要なすべての情報が含まれています。この情報を入力してからジョブの開始をリクエストすると、ジョブはマニフェスト内の各オブジェクトにおいてオペレーションを実行します。

オペレーション

オペレーションは、バッチ操作のジョブで実行する API のアクションの種類 (オブジェクトのコピーなど) です。各ジョブは、マニフェストで指定されているすべてのオブジェクトに対して 1 種類のオペレーションを実行します。

タスク

タスクは、ジョブ実行の単位です。タスクは、1 つのオブジェクトに対してジョブのオペレーションを実行するための Amazon S3 または AWS Lambda API のオペレーションの 1 回の呼び出しを表します。S3 バッチ操作は、ジョブの実行中に、マニフェストで指定されている各オブジェクトに対して 1 つのタスクを作成します。

S3 バッチ操作のジョブの仕組み

ジョブは、S3 バッチ操作の基本単位です。ジョブには、オブジェクトのリストに対して指定されたオペレーションを実行するために必要なすべての情報が含まれています。ジョブを作成するには、S3 バッチ操作にオブジェクトのリストを渡し、それらのオブジェクトに対して実行するアクションを指定します。

S3 バッチ操作がサポートするオペレーションの詳細については、S3 バッチ操作でサポートされるオペレーション を参照してください。

バッチジョブは、そのマニフェストに含まれるすべてのオブジェクトで指定されたオペレーションを実行します。マニフェストには、バッチジョブで処理するオブジェクトが一覧表示され、オブジェクトとしてバケットに保存されます。カンマ区切り値 (CSV) 形式の Amazon S3 インベントリ レポートをマニフェストとして使用できます。これにより、バケット内に配置されたオブジェクトの大きなリストを簡単に作成できます。1 つのバケット内に含まれるカスタマイズされたオブジェクトのリストに対してバッチ操作を実行できるように、シンプルな CSV 形式でマニフェストを指定することもできます。

ジョブを作成すると、Amazon S3 はマニフェストにリストされているオブジェクトを処理し、指定されたオペレーションをそれぞれのオブジェクトに対して実行します。ジョブの実行中は、プログラムまたは Amazon S3 コンソールで進捗状況をモニタリングできます。終了時に完了レポートを生成するようにジョブを設定することもできます。完了レポートには、ジョブによって実行された各タスクの結果が示されます。ジョブのモニタリングの詳細については、「S3 バッチ操作ジョブの管理」を参照してください。