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