Embora a maioria dos serviços forneça APIs síncronas que exigem que você faça uma solicitação
e aguarde uma resposta, o BatchJobService oferece uma
maneira de realizar lotes de operações em vários serviços sem esperar de forma síncrona
que as operações sejam concluídas.
Ao contrário das operações de mutação específicas do serviço, um único trabalho em
BatchJobService pode operar em uma coleção mista de
campanhas, grupos de anúncios, anúncios, critérios, rótulos e recursos. Os jobs enviados são executados em
paralelo, e o BatchJobService repete automaticamente
operações que falham devido a erros temporários, como erros de limitação de taxa. A API Google Ads ainda conta cada operação no seu limite diário de operações, seguindo as instruções de contagem de operações da API.
Com o BatchJobService, também é possível usar IDs temporários nas solicitações para enviar operações dependentes em um único job.
Operações
O BatchJobService é compatível com todas as operações listadas em
MutateOperation, cujo serviço subjacente oferece suporte a
falha parcial, além de
AssetGroupOperation e
AssetGroupListingGroupFilterOperation, que são
explicitamente dispensadas e executadas (juntamente com operações interdependentes relacionadas)
em sublotes atômicos.
Como a API Google Ads executa operações padrão em um job com falha parcial ativada (exceto em sublotes atômicos), se um job for cancelado ou operações individuais falharem, as operações bem-sucedidas não serão revertidas.
As seguintes operações em MutateOperation precisam ser atômicas e não aceitam falhas parciais. Portanto, não são compatíveis com jobs em lote. Adicionar qualquer uma dessas operações a um job em lote
retorna um erro
MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (ou um InternalError.INTERNAL_ERROR para
BookCampaignsOperation e
QuoteCampaignsOperation). Em vez disso, execute-as usando
GoogleAdsService.Mutate com partial_failure definido como
false (e validate_only definido como true para
QuoteCampaignsOperation).
Operações sem suporte em BatchJobService
BookCampaignsOperation(disponível noMutateOperationa partir da v23)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(disponível emMutateOperationa partir da v23; exige quevalidate_onlyseja definido comotrue)