Cloud Object Storage(COS)のバッチ処理機能では、バケット内の指定のオブジェクトリストに対し、指定の操作を実行することが可能です。リスト機能によって生成したオブジェクトリストを指定のオブジェクトリストとするか、または処理したいオブジェクトをリストファイルの形式で、CSV形式のファイルに記録し、COSのバッチ処理機能によってこれらのオブジェクトリストファイルに対しバッチ処理を行います。
リスト機能についてより詳しくお知りになりたい場合は、リスト機能の概要をご参照ください。
現在、COSのバッチ処理機能は次の指定操作のみサポートしています。
COSコンソールでCOSのバッチ処理機能を使用できます。詳細については、バッチ処理をご参照ください。
バッチ処理操作を実行したい場合は、まず初めにバッチ処理タスクを作成する必要があります。バッチ処理タスクにはオブジェクトリストに対し指定の操作を実行するために必要な全ての情報が含まれます。リスト機能によって生成したリストをオブジェクトリストとすることができます。
オブジェクトリストを提供し、バッチ処理タスクを作成してタスクを起動すると、バッチ処理機能がリスト内のそれぞれのオブジェクトに対し、指定された操作を実行します。タスクの実行中は、COSコンソールでそのタスクの実行状況を監視することができ、またタスクの完了後に対応するタスクレポートを出力するよう指定することもできます。タスクレポートには、そのタスクで実行された各操作のステータスが詳細に記述されます。
注意:バッチ処理タスクは現在のバケット内のオブジェクトに対してのみ有効です。他のバケットのオブジェクトデータのバッチ処理を行いたい場合は、該当するバケット内でバッチ処理機能を有効にしてください。
オブジェクトリストは処理対象のすべてのオブジェクトを記録したリストです。バッチ処理タスクを作成する場合は先にオブジェクトリストを提供することで、処理したいオブジェクトをCOSに通知する必要があります。このオブジェクトリストファイルをバケット内に保存し、このファイルの名前、ETag、VersionID(もしあれば)などの情報を提供する必要があります。オブジェクトリストは次の2つの方法で作成することができます。
examplebucket-appid, exampleobject, PZ9ibn9D5lP6p298B7S9_ceqx1n5EJ0p
examplebucket-appid, exampleobject, jbo9_jhdPEyB4RrmOxWS0kU0EoNrU_oI
注意:
- バケットのバージョン管理を有効にしている、あるいは以前に有効にしたことがあり、なおかつ指定したオブジェクトのバージョンに対し一括処理を行いたい場合は、オブジェクトリストにオブジェクトのバージョンID情報を必ず記載しなければなりません。
- バケットのバージョン管理を有効にしている、あるいは以前に有効にしたことがあっても、オブジェクトリストでバージョンIDを指定していない場合は、COSはデフォルトで最新バージョンのオブジェクトに対し操作を行います。
- タスクの作成前に、処理対象のオブジェクトと同名のオブジェクトファイルをアップロードしていた場合、COSはデフォルトで、オブジェクトリスト作成時のオブジェクトではなく、最新バージョンのオブジェクトを処理します。このような操作が行われることを避ける方法は、バージョン管理機能を有効にし、オブジェクトリストでバージョンIDを指定しておくことです。
- オブジェクトリストにバケット内のすべてのオブジェクトを含めることは可能ですが、COSが大量のオブジェクトを処理する際、タスクの実行プロセスに長時間かかる可能性があることに注意が必要です。
ここでは、バッチ処理タスクの作成方法、ならびにバッチ処理タスクの作成完了後のシステムのフィードバック状況について詳細にご説明します。
バッチ処理タスクを作成するには、次の情報を提供する必要があります。
タイプ | 説明 |
---|---|
操作 | リスト内の処理対象のオブジェクトに対し、どのような操作を行うのかを明確にする必要があります。各操作について対応するパラメータを設定することができ、COSはこれらの操作の設定情報に基づいて、リスト内のオブジェクトを順に処理します。 |
オブジェクトリスト | オブジェクトリストは処理対象のすべてのオブジェクトを記録したファイルです。オブジェクトリストはリスト機能によって作成することができます。詳細については、リスト機能の概要をご参照ください。あるいはお客様ご自身で、処理対象のオブジェクトをリストファイルの形式でCSV形式のファイルに記録し、それをオブジェクトリストとすることもできます。 |
優先度 | 優先度を使用して、現在のバッチ処理タスクの、他のバッチ処理タスクに対する優先状態を識別することができます。タスクの優先度はタスク完了の順序を直接決定づけるものではありません。複数のタスクの実行順序を管理したい場合は、タスクの実行状態を自らチェックし、1つのタスクの終了後に次のタスクを開始するようにする必要があります。 |
ルール権限 | バッチ処理タスクを設定後は、アカウントがバッチ処理操作の実行に必要なIAM権限を持つことを保証する必要があります。例えば、PUT Object-copy 操作を一括実行するバッチ処理タスクを設定した場合、ソースバケットがGet Object の権限を持つことを確実にすると同時に、ターゲットバケットがPUT Object の権限を持つことも確実にしなければなりません。また、どのバッチ処理タスクについても、オブジェクトリストの読み取りおよびタスクレポートの書き込み権限を有することを常に保証する必要があります。権限設定に関する詳細情報については、権限設定およびバケットアクセスポリシーをご参照ください。 |
タスクレポート | タスク完了後にタスクレポートを出力するよう設定することができます。タスクレポートの出力が必要な場合、バッチ処理タスクの作成時に対応するパラメータを入力することで、システムに指定のバケットへタスクレポートを正しく出力させることができます。入力必須情報には、タスクレポートを保存するバケット、タスクレポートの形式、タスクレポートにすべてのタスク情報を含めるかどうかなどがあります。タスクレポートのファイルプレフィックスはオプションです。 |
タスク説明(オプション) | 作成したバッチ処理タスクに256バイトのタスク説明を追加し、タスクの追跡と監視に役立てることができます。タスク説明の詳細情報についてはCOSコンソール上に表示しています。タスク説明によって、作成したタスクの並べ替えやフィルタリングを便利に行うことが可能です。タスク説明は内容が重複していてもよく、類似したタスクに同一のタスク説明(例えば、毎週のログデータ同期コピーなど)を設定することで、同じ種類のタスクの管理を実現することができます。 |
この記事はお役に立ちましたか?