Alors que la plupart des services fournissent des API synchrones qui vous obligent à envoyer une requête
puis à attendre une réponse, BatchJobService vous permet d'effectuer des lots d'opérations sur plusieurs services sans attendre de manière synchrone
la fin des opérations.
Contrairement aux opérations de mutation spécifiques à un service, une seule tâche dans
BatchJobService peut fonctionner sur une collection mixte de
campagnes, de groupes d'annonces, d'annonces, de critères, de libellés et d'assets. Les tâches envoyées s'exécutent en
parallèle, et BatchJobService réessaye automatiquement les
opérations qui échouent en raison d'erreurs temporaires, telles que les erreurs de limite de débit. L'
API Google Ads comptabilise toujours chaque opération dans votre
limite d'opérations quotidienne, conformément aux
instructions de comptabilisation des opérations d'API.
BatchJobService vous permet également d'utiliser
des ID temporaires dans vos requêtes afin de pouvoir envoyer des opérations dépendantes
dans une seule tâche.
Opérations
BatchJobService est compatible avec toutes les opérations listées dans
MutateOperation dont le service sous-jacent est compatible avec
les échecs partiels, ainsi qu'avec
AssetGroupOperation et
AssetGroupListingGroupFilterOperation, qui sont
explicitement exemptées et exécutées (avec les opérations interdépendantes associées)
dans des sous-lots atomiques.
Étant donné que l'API Google Ads exécute les opérations standards dans une tâche avec l'échec partiel activé (sauf dans les sous-lots atomiques), si une tâche est annulée ou si des opérations individuelles échouent, les opérations qui ont réussi ne sont pas annulées.
Les opérations suivantes dans MutateOperation doivent être
atomiques et ne sont pas compatibles avec les échecs partiels. Elles ne sont donc pas
compatibles avec les jobs par lot. Si vous ajoutez l'une de ces opérations à un job par lot
vous recevez une erreur
MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (ou une erreur InternalError.INTERNAL_ERROR pour
BookCampaignsOperation et
QuoteCampaignsOperation). Exécutez-les plutôt à l'aide de
GoogleAdsService.Mutate avec partial_failure défini sur
false (et validate_only défini sur true pour
QuoteCampaignsOperation).
Opérations non compatibles dans BatchJobService
BookCampaignsOperation(disponible dansMutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(disponible dansMutateOperation; nécessite quevalidate_onlysoit défini surtrue)