ほとんどのサービスでは同期 API を使用できますが、リクエストを送信してからレスポンスを待つ必要がありますが、BatchJobService
を使用すると、複数のサービスに対してオペレーションの完了を待たずにバッチでオペレーションを実行できます。
サービス固有の mutate オペレーションとは異なり、BatchJobService
では、1 つのジョブで、キャンペーン、広告グループ、広告、条件、ラベル、フィード アイテムの組み合わせを使用できます。送信されたジョブは並列に実行され、BatchJobService
は、レート制限エラーなどの一時的なエラーによって失敗したオペレーションを自動的に再試行します。Google Ads API は、API オペレーションのカウント方法に従って、各オペレーションを 1 日のオペレーション上限にカウントします。
また、BatchJobService
では、リクエスト内で一時 ID を使用できるため、依存ジョブを 1 つのジョブで送信できます。
オペレーション
BatchJobService
は、いくつかの重要な例外を除いて、MutateOperation
にリストされているすべてのオペレーションをサポートします。
部分失敗が有効になっているジョブでは、Google Ads API によってすべてのオペレーションが実行されるため、ジョブがキャンセルされたり、個々のオペレーションが失敗したりしても、成功したオペレーションはロールバックされません。
MutateOperation
での次のオペレーションは、アトミックである必要があります。そのため、部分的な失敗はサポートされておらず、バッチジョブ内ではサポートされていません。これらをジョブに追加せずに、リクエストで partial_failure
を false
に設定し、代わりに GoogleAdsService
の mutate
メソッドを使用します。