このドキュメントでは、ストレージ バッチ オペレーションについて説明しています。ストレージ バッチ オペレーションとは、数十億のオブジェクトに対してサーバーレスでオペレーションを実行できる Cloud Storage の機能です。ストレージ バッチ オペレーションを使うことで、数十億のオブジェクトに対する大規模な API オペレーションを自動化できるため、各リクエストのスクリプトの記述と保守に必要な開発時間を短縮できます。
ストレージ バッチ オペレーション ジョブの作成方法については、バッチ オペレーション ジョブを作成して管理するをご覧ください。
概要
ストレージ バッチ オペレーションを利用することで、複数のオブジェクトに対して、オブジェクトの保持、オブジェクトの削除、オブジェクト メタデータの更新、オブジェクトの書き換えの 4 つの変換のうちの 1 つを一度に実行できます。ストレージ バッチ オペレーションを使用するには、どのオブジェクトにどの変換を適用するかを定義するジョブ構成を作成します。
バッチ オペレーションを作成すると、リクエストのステータス(リクエストで指定されたすべてのオブジェクトに変換が適用されたかどうか)を示す長時間実行オペレーション(LRO)が返されます。
利点
- スケーラビリティ: 単一のストレージ バッチ オペレーション ジョブで数百万のオブジェクトに対して変換を実行します。
- サーバーレス実行: サーバーレス環境でバッチジョブを実行するため、インフラストラクチャを管理する必要がなくなります。
- 自動化: 複雑で反復的なタスクを自動化し、運用効率を高めます。
- 開発時間の短縮: 複雑なカスタム スクリプトの記述と保守を行う必要がなくなります。
- パフォーマンス: 時間的制約のあるオペレーションを必要な時間内に完了します。バケットで複数のバッチジョブを同時に実行すると、3 時間以内に最大 10 億個のオブジェクトを処理できます。
- 自動再試行: 失敗したオペレーションの自動再試行。
- ジョブのモニタリング: 詳細な進行状況のトラッキングにより、すべてのジョブのステータスと完了状況をモニタリングします。
ユースケース
ストレージ バッチ オペレーションを Storage Insights データセットとともに使用することで、次のタスクを実施できます。
セキュリティ管理:
- オブジェクト書き換えメソッドを使用して、複数のオブジェクトに暗号鍵を設定します。
- オブジェクトの不変性を制御するために、オブジェクト保持を適用または削除します。
コンプライアンス:
- オブジェクト保持を使用して、規制遵守のためのデータ保持要件を満たします。
- ワイプアウトのコンプライアンス要件を満たすため、特定の期間のデータを削除します。
データ変換: オブジェクトのメタデータを一括更新します。
費用の最適化: Cloud Storage バケット内のオブジェクトを一括削除して、ストレージ費用を削減します。
ジョブ構成
ストレージ バッチ オペレーション ジョブを作成するには、次のジョブ構成を設定する必要があります。ジョブ構成は、さまざまな処理要件に対してジョブを定義する方法を制御するパラメータです。
ジョブ名: ストレージ バッチ オペレーション ジョブを一意に識別する名前。これは、ジョブの追跡、モニタリング、参照に使用されます。ジョブ名は英数字です(例:
job-01
)。職務の説明(省略可): 職務の目的の簡単な説明。これにより、ジョブの詳細を把握して記録できます。例:
Deletes all objects in a bucket
。バケット名: 処理するオブジェクトが格納されているストレージ バケットの名前。これは、入力データを特定するために不可欠です。例:
my-bucket
。ジョブに指定できるバケット名は 1 つだけです。オブジェクトの選択: 処理するオブジェクトを定義する選択条件。条件は、次のいずれかのオプションを使用して指定できます。
マニフェスト: マニフェストを作成し、ストレージのバッチ オペレーション ジョブを作成するときにそのロケーションを指定します。マニフェストは、処理する 1 つのオブジェクトまたはオブジェクトのリストを含む Google Cloudにアップロードされる CSV ファイルです。マニフェストの各行には、オブジェクトの
bucket
とname
を含める必要があります。必要に応じて、オブジェクトのgeneration
を指定できます。generation
を指定しない場合、オブジェクトの現行バージョンが使用されます。ファイルには、次の形式のヘッダー行を含める必要があります。
bucket,name,generation
マニフェストの例を次に示します。
bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3
Storage Insights データセットを使用してマニフェストを作成することもできます。詳細については、Storage Insights データセットを使用してマニフェストを作成するをご覧ください。
オブジェクト接頭辞: バケット内のオブジェクトをフィルタリングする接頭辞のリストを指定します。これらの接頭辞を持つオブジェクトのみが処理されます。空の場合、バケット内のすべてのオブジェクトが処理されます。
ジョブタイプ: Storage バッチ オペレーションは、次のジョブタイプをサポートし、バッチ オペレーションごとに 1 つのジョブを実行します。
オブジェクトの削除: バケット内のオブジェクトを削除できます。これは、コスト最適化、データ ライフサイクル管理、データ削除ポリシーの遵守に不可欠です。
メタデータの更新: オブジェクト メタデータを変更できます。これには、カスタム メタデータ、ストレージ クラス、その他のオブジェクト プロパティの更新が含まれます。
オブジェクト保持の更新: オブジェクト保持を有効または無効にできます。オブジェクト保持により、オブジェクトの削除や変更を防ぐことができます。これは、コンプライアンスとデータ保持に不可欠です。
オブジェクトの暗号鍵の更新: 1 つ以上のオブジェクトの顧客管理の暗号鍵を管理できます。これには、オブジェクトの書き換えメソッドを使用して暗号鍵を適用または変更することも含まれます。
制限事項
ストレージのバッチ オペレーションには次の制限があります。
ストレージ バッチ オペレーション ジョブの最大有効期間は 14 日です。作成から 14 日以内に完了しなかった進行中のジョブは、自動的にキャンセルされます。
同じバケットで 20 個を超えるバッチ オペレーション ジョブを同時に実行することはおすすめしません。
ストレージ バッチ オペレーションは VPC Service Controls と互換性がありません。
ストレージのバッチ オペレーションは、次のバケットには対応していません。
リクエスト元による支払いが有効になっているバケット。
eur4
リージョンまたはus-west8
リージョンにあるバケット。