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