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 modificació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 diario de operaciones, según las instrucciones de conteo de las 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 están explícitamente exentas y se ejecutan (junto con las operaciones interdependientes relacionadas) en sublotes atómicos.
Dado que la API de Google Ads ejecuta operaciones estándar en un trabajo con la falla parcial habilitada (excepto dentro de los sublotes atómicos), si se cancela un trabajo o fallan operaciones individuales, las operaciones que se completaron 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 devolverá un error MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE (o un InternalError.INTERNAL_ERROR para BookCampaignsOperation y QuoteCampaignsOperation). En su lugar, ejecútalas con GoogleAdsService.Mutate y partial_failure establecido en false (y validate_only establecido en true para QuoteCampaignsOperation).
Operaciones no admitidas en BatchJobService
BookCampaignsOperation(disponible enMutateOperationa partir de la versión 23)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(disponible enMutateOperationa partir de la versión 23; requiere quevalidate_onlyse establezca entrue)