Si bien la mayoría de los servicios proporcionan APIs síncronas que requieren que realices una solicitud
y luego esperes una respuesta, BatchJobService ofrece 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, siguiendo las
instrucciones de conteo 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 enumeran en
MutateOperation cuyo servicio subyacente admite
fallas parciales, así como
AssetGroupOperation y
AssetGroupListingGroupFilterOperation, que están
exentas explícitamente y se ejecutan (junto con las operaciones interdependientes relacionadas)
en sub-lotes atómicos.
Debido a que la API de Google Ads ejecuta operaciones estándar en un trabajo con la falla parcial habilitada (excepto dentro de los sub-lotes atómicos), si se cancela un trabajo o fallan las 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 trabajos por lotes. Si agregas cualquiera de estas operaciones a un trabajo por lotes
se muestra un
MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE
error (o un InternalError.INTERNAL_ERROR para
BookCampaignsOperation y
QuoteCampaignsOperation). En su lugar, ejecútalas con
GoogleAdsService.Mutate con partial_failure configurado como
false (y validate_only configurado como true para
QuoteCampaignsOperation).
Operaciones no admitidas en BatchJobService
BookCampaignsOperation(disponible enMutateOperation)CampaignConversionGoalOperationConversionGoalCampaignConfigOperationCustomConversionGoalOperationCustomerConversionGoalOperationCustomerOperationQuoteCampaignsOperation(disponible enMutateOperation; requiere quevalidate_onlyesté configurado comotrue)