Si bien la mayoría de los servicios proporcionan APIs síncronas que requieren que realices una solicitud
y, luego, esperes una respuesta, BatchJobService proporciona una
forma de realizar lotes de operaciones en varios servicios sin esperar de forma síncrona
a que se completen las operaciones.
A diferencia de las operaciones de mutación específicas del servicio, un solo trabajo en BatchJobService puede operar en una colección mixta de campañas, grupos de anuncios, anuncios, criterios, etiquetas y recursos. Los trabajos enviados se ejecutan en
paralelo, y BatchJobService reintenta automáticamente
las operaciones que fallan debido a errores transitorios, como los errores de límite de frecuencia. La API de Google Ads sigue contando cada operación para tu límite de operaciones diarias, según las instrucciones de recuento de operaciones de la API.
BatchJobService también te permite usar
IDs temporales en tus solicitudes para que puedas enviar operaciones
dependientes en un solo trabajo.
Operaciones
BatchJobService admite todas las operaciones que se indican en MutateOperation cuyo servicio subyacente admite fallas parciales, así como AssetGroupOperation y AssetGroupListingGroupFilterOperation, que se excluyen y ejecutan de forma explícita (junto con las operaciones interdependientes relacionadas) en sublotes atómicos.
Debido a que la API de Google Ads ejecuta operaciones estándar en un trabajo con el error parcial habilitado (excepto dentro de los sublotes atómicos), si se cancela un trabajo o fallan operaciones individuales, las operaciones que se realizaron correctamente no se revierten.
Las siguientes operaciones en MutateOperation deben ser
atómicas y no admiten fallas parciales, por lo que no se admiten
en los trabajos por lotes. Si agregas cualquiera de estas operaciones a un trabajo por lotes, se muestra un error MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (o un error InternalError.INTERNAL_ERROR para BookCampaignsOperation y QuoteCampaignsOperation). En su lugar, ejecútalas con GoogleAdsService.Mutate con partial_failure establecido en false (y validate_only establecido en true para QuoteCampaignsOperation).
Operaciones no admitidas en BatchJobService
BookCampaignsOperation(disponible enMutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(disponible enMutateOperation; requiere quevalidate_onlyse establezca entrue)