バッチ処理

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

サービス固有の変更オペレーションとは異なり、BatchJobService の単一のジョブは、キャンペーン、広告グループ、広告、条件、ラベル、アセットの混合コレクションに対して動作できます。送信されたジョブは並列で実行され、BatchJobService は、レート制限エラーなどの一時的なエラーが原因で失敗したオペレーションを自動的に再試行します。Google Ads API は、API オペレーションのカウント手順に沿って、各オペレーションを一日のオペレーション上限にカウントします。

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

運用

BatchJobService は、基盤となるサービスが部分的な障害をサポートしている MutateOperation に記載されているすべてのオペレーションと、明示的に除外され、アトミック サブバッチで(関連する相互依存オペレーションとともに)実行される AssetGroupOperationAssetGroupListingGroupFilterOperation をサポートします。

Google Ads API は、アトミック サブバッチ内を除き、部分的な失敗が有効になっているジョブで標準オペレーションを実行するため、ジョブがキャンセルされた場合や個々のオペレーションが失敗した場合でも、成功したオペレーションはロールバックされません。

MutateOperation の次のオペレーションはアトミックである必要があり、部分的な失敗をサポートしていないため、バッチジョブ内ではサポートされていません。これらのオペレーションをバッチジョブに追加すると、MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE エラー(BookCampaignsOperationQuoteCampaignsOperation の場合は InternalError.INTERNAL_ERROR)が返されます。代わりに、partial_failurefalse に設定した GoogleAdsService.Mutate を使用して実行します(QuoteCampaignsOperation の場合は validate_onlytrue に設定します)。

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