Хотя большинство служб предоставляют синхронные API, требующие от вас сделать запрос, а затем дождаться ответа, BatchJobService
предоставляет способ выполнять пакеты операций над несколькими службами без синхронного ожидания завершения операций.
В отличие от операций изменения, специфичных для конкретной службы, одно задание в BatchJobService
может работать со смешанным набором кампаний, групп объявлений, объявлений, критериев, меток и элементов канала. Отправленные задания выполняются параллельно, и BatchJobService
автоматически повторяет операции, которые завершились неудачей из-за временных ошибок, таких как ошибки ограничения скорости. API Google Рекламы по-прежнему засчитывает каждую операцию в ваш ежедневный лимит операций в соответствии с инструкциями по подсчету операций API .
Кроме того, BatchJobService
позволяет использовать временные идентификаторы в ваших запросах, чтобы вы могли отправлять зависимые операции в одном задании.
Операции
BatchJobService
поддерживает все операции, перечисленные в MutateOperation
, за некоторыми важными исключениями.
Поскольку API Google Рекламы выполняет все операции в задании с включенным частичным сбоем , в случае отмены задания или сбоя отдельных операций успешные операции не будут отменены.
Следующие операции в MutateOperation
должны быть атомарными и, следовательно, не поддерживают частичный сбой и не поддерживаются в пакетных заданиях. Не добавляйте их в свои задания, устанавливайте для partial_failure
значение false
в своих запросах и вместо этого используйте метод mutate
в GoogleAdsService
.
Неподдерживаемые операции в BatchJobService
-
CampaignConversionGoalOperation
-
ConversionGoalCampaignConfigOperation
-
CustomConversionGoalOperation
-
CustomerConversionGoalOperation
-
CustomerOperation