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