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