バッチ処理

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

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

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

Operations

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

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

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

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