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