P-MAX のバッチ処理

バッチ処理では、相互に依存する可能性のある一連のオペレーションを、オペレーションの完了を同期的に待機することなく、複数のサービスにディスパッチできます。バッチ処理を使用して、P-MAX キャンペーンを作成、管理できます。

このガイドでは、バッチ処理を使用する場合の P-MAX キャンペーンに固有の詳細について説明します。一般的なバッチ処理ガイドには、バッチ処理に関する一般的な情報が記載されています。リクエストの構造化ガイドには、P-MAX キャンペーンの作成または管理のためのリクエストの構築に関する詳細情報が記載されています。

バッチ処理を使用して P-MAX キャンペーンを作成する手順は次のとおりです。

新しいバッチジョブを作成する

BatchJob リソースを作成するには、一般的なバッチ処理のジョブ作成の手順に沿って操作します。

変更オペレーションのリストを準備する

P-MAX キャンペーンでは、複数の関連リソースを作成するオペレーションが必要です。詳しくは、リクエストの構造ガイドをご覧ください。バッチジョブに含める各リソースの MutateOperation を作成します。

CampaignOperationCampaignAssetOperation の要件

キャンペーンでブランド ガイドラインが有効になっている場合(ブランド ガイドラインを参照)、CampaignAsset リソースを使用してブランド アセットをキャンペーンにリンクする必要があります。また、バッチジョブでは、これらの CampaignAsset リソースの作成は、Campaign リソース自体の作成直後に行う必要があります。Campaign リソースの直後に CampaignAsset リソースが作成されない場合(ブランド ガイドラインが有効になっている場合 - トラブルシューティングを参照)、リクエストは失敗し、アセットがないことを示す CampaignError が返されます。同じオペレーション リストの後で CampaignAsset 作成オペレーションを含めても、このエラーは回避できません。

AssetGroupOperationAssetGroupAssetOperation の要件

バッチジョブで AssetGroup リソースと AssetGroupAsset リソースを作成する MutateOperation タイプのオペレーションは、処理時にこれらのオペレーションがグループ化されるため、間に他のオペレーションを挟まずに連続して実行する必要があります。そうでない場合、最小限のアセット要件を満たすために必要なオペレーションがオペレーション リストに後で含まれていても、リクエストは AssetGroupError をスローして、一部のアセットが不足していることを示します

AssetGroupListingGroupFilterOperation のベスト プラクティス

AssetGroupListingGroupFilter のコンテキストでリスティング グループ フィルタを使用する場合は、同じ AssetGroup をターゲットとする AssetGroupListingGroupFilterOperation オペレーションをバッチジョブに連続して追加することをおすすめします。これにより、バッチ分割時にオペレーションのセットがアトミックに処理されます。バッチ分割や、商品グループに影響するその他の要因について詳しくは、商品グループのバッチ処理ガイドをご覧ください。

ジョブにミューテート オペレーションを追加する

ステップ 2 の変更オペレーションをリストに追加し、AddBatchJobOperations を呼び出して、ステップ 1 で作成したバッチジョブに変更のリストを追加します。一般的なバッチ処理ガイドのオペレーションを追加する手順に沿って、変更オペレーションのリストを追加します。

バッチジョブを実行する

RunBatchJob を呼び出して、アップロードされたジョブの実行を開始します。例については、一般的なバッチ処理ガイドのバッチジョブを実行するの手順をご覧ください。

ジョブのステータスを取得する

バッチジョブは長時間実行オペレーションとして開始され、通常は完了までに時間がかかります。ジョブを開始したら、長時間実行オペレーションの GetOperation メソッドを使用して、ジョブが完了するまでジョブのステータスをポーリングします。

すべてのバッチジョブが完了したら、一般的なバッチ処理ガイドのすべてのバッチジョブの結果を一覧表示するの手順に沿って、ListBatchJobResults を呼び出してステータスとレスポンスを出力します。