バッチ処理では、相互に依存する可能性のある一連のオペレーションを、オペレーションの完了を同期的に待機することなく、複数のサービスにディスパッチできます。バッチ処理を使用して、P-MAX キャンペーンを作成、管理できます。
このガイドでは、バッチ処理を使用する場合の P-MAX キャンペーンに固有の詳細について説明します。一般的なバッチ処理ガイドには、バッチ処理に関する一般的な情報が記載されています。リクエストの構造化ガイドには、P-MAX キャンペーンの作成または管理のためのリクエストの構築に関する詳細情報が記載されています。
バッチ処理を使用して P-MAX キャンペーンを作成する手順は次のとおりです。
新しいバッチジョブを作成する
BatchJob
リソースを作成するには、一般的なバッチ処理のジョブ作成の手順に沿って操作します。
変更オペレーションのリストを準備する
P-MAX キャンペーンでは、複数の関連リソースを作成するオペレーションが必要です。詳しくは、リクエストの構造ガイドをご覧ください。バッチジョブに含める各リソースの MutateOperation
を作成します。
CampaignOperation
と CampaignAssetOperation
の要件
キャンペーンでブランド ガイドラインが有効になっている場合(ブランド ガイドラインを参照)、CampaignAsset
リソースを使用してブランド アセットをキャンペーンにリンクする必要があります。また、バッチジョブでは、これらの CampaignAsset
リソースの作成は、Campaign
リソース自体の作成直後に行う必要があります。Campaign
リソースの直後に CampaignAsset
リソースが作成されない場合(ブランド ガイドラインが有効になっている場合 - トラブルシューティングを参照)、リクエストは失敗し、アセットがないことを示す CampaignError
が返されます。同じオペレーション リストの後で CampaignAsset
作成オペレーションを含めても、このエラーは回避できません。
AssetGroupOperation
と AssetGroupAssetOperation
の要件
バッチジョブで AssetGroup
リソースと AssetGroupAsset
リソースを作成する MutateOperation
タイプのオペレーションは、処理時にこれらのオペレーションがグループ化されるため、間に他のオペレーションを挟まずに連続して実行する必要があります。そうでない場合、最小限のアセット要件を満たすために必要なオペレーションがオペレーション リストに後で含まれていても、リクエストは AssetGroupError
をスローして、一部のアセットが不足していることを示します。
AssetGroupListingGroupFilterOperation
のベスト プラクティス
AssetGroupListingGroupFilter
のコンテキストでリスティング グループ フィルタを使用する場合は、同じ AssetGroup
をターゲットとする AssetGroupListingGroupFilterOperation
オペレーションをバッチジョブに連続して追加することをおすすめします。これにより、バッチ分割時にオペレーションのセットがアトミックに処理されます。バッチ分割や、商品グループに影響するその他の要因について詳しくは、商品グループのバッチ処理ガイドをご覧ください。
ジョブにミューテート オペレーションを追加する
ステップ 2 の変更オペレーションをリストに追加し、AddBatchJobOperations
を呼び出して、ステップ 1 で作成したバッチジョブに変更のリストを追加します。一般的なバッチ処理ガイドのオペレーションを追加する手順に沿って、変更オペレーションのリストを追加します。
バッチジョブを実行する
RunBatchJob
を呼び出して、アップロードされたジョブの実行を開始します。例については、一般的なバッチ処理ガイドのバッチジョブを実行するの手順をご覧ください。
ジョブのステータスを取得する
バッチジョブは長時間実行オペレーションとして開始され、通常は完了までに時間がかかります。ジョブを開始したら、長時間実行オペレーションの GetOperation
メソッドを使用して、ジョブが完了するまでジョブのステータスをポーリングします。
すべてのバッチジョブが完了したら、一般的なバッチ処理ガイドのすべてのバッチジョブの結果を一覧表示するの手順に沿って、ListBatchJobResults
を呼び出してステータスとレスポンスを出力します。