バッチ処理

ほとんどのサービスは同期 API を提供していますが、リクエストを送信してからレスポンスを待機する必要があります。BatchJobService を使用すると、オペレーションの完了を同期的に待機することなく、複数のサービスに対してオペレーションのバッチを実行できます。

サービス固有のミューテーション オペレーションとは異なり、BatchJobService の単一ジョブは、キャンペーン、広告グループ、広告、条件、ラベル、フィードアイテムの混合コレクションに対してオペレーションを実行できます。送信されたジョブは並列で実行され、レート制限エラーなどの一時的なエラーにより失敗したオペレーションは BatchJobService によって自動的に再試行されます。Google Ads API では、API オペレーションのカウント手順に沿って、各オペレーションが1 日あたりのオペレーションの上限にカウントされます。

また、BatchJobService を使用すると、リクエスト内で一時 ID を使用できるため、依存するオペレーションを 1 つのジョブで送信できます。

運用

BatchJobService は、MutateOperation に記載されているすべてのオペレーションをサポートしていますが、いくつかの重要な例外があります。

Google Ads API は、部分的な失敗が有効になっているジョブ内のすべてのオペレーションを実行するため、ジョブがキャンセルされた場合や個々のオペレーションが失敗した場合、成功したオペレーションはロールバックされません。

MutateOperation の次のオペレーションはアトミックである必要があるため、部分的な障害はサポートされず、バッチジョブ内でサポートされていません。ジョブに追加せず、リクエストで partial_failurefalse に設定し、代わりに GoogleAdsServicemutate メソッドを使用します。

BatchJobService でサポートされていないオペレーション