Перечисление групповых фильтров в пакетных заданиях

При работе с фильтрами групп листинга в контексте AdGroupCriterion.listing_group или AssetGroupListingGroupFilter при проектировании интеграции примите во внимание следующие соображения.

Разделение партии

Если в пакетном задании есть какие-либо операции, содержащие критерии группы объявлений или фильтры групп листинга группы активов, операции в пакетном задании разделяются на несколько подпакетов при получении сервером API Google Ads. Обратите внимание, что в отличие от стандартных операций в пакетном задании, каждый подпакет, содержащий операции фильтра группы листинга, обрабатывается атомарно.

Способ разделения пакетных заданий, содержащих фильтры групп листинга, на подпакеты определяется следующими факторами:

  1. Тип фильтра группы листинга
  2. AdGroupCriterion или AssetGroup на который нацелен фильтр группы листинга
  3. Порядок действий

Рассмотрим, как сгруппированы операции:

  • Все последовательные операции AssetGroupListingGroupFilterOperation , нацеленные на одну и ту же AssetGroup , группируются в атомарный подпакет (без поведения частичного сбоя).
  • Все последовательные операции AdGroupCriterionOperation , содержащие listing_group , нацеленные на одну и ту же AdGroup , группируются в атомарный подпакет (без поведения частичного сбоя).
  • Все остальные последовательные операции группируются в неатомарные подпартии (поведение частичного отказа).

Следующая диаграмма иллюстрирует эту концепцию. Каждое из серых полей представляет собой пакетное задание, отправленное с помощью API Google Ads. Внутри серых полей отдельные операции сгруппированы по цвету, чтобы представить подпакеты, которые создает сервер API Google Ads. Порядок операций в каждом из серых полей соответствует порядку, в котором операции были бы добавлены в пакетное задание.

изображение

Ограничения

При работе с фильтрами групп листинга в контексте пакетных заданий действуют следующие ограничения:

  • Длина одного пакета операций AssetGroupListingGroupFilterOperation , содержащего listing_group и нацеленного на одну и ту же AdGroup , не может превышать 20 000 операций. Однако рекомендуется не превышать 10 000 операций.
  • Один пакет операций AssetGroupListingGroupFilterOperation , нацеленный на одну и ту же AssetGroup , не может превышать 10 000 операций.
  • Нарушение любого из этих условий приводит к сбою всего пакетного задания.

Поиск неисправностей

Операции группового фильтра в пакетном задании обрабатываются как одна транзакция, что может привести к сценариям, в которых многие операции завершаются неудачей из-за небольшого числа ошибочных операций. Кроме того, из-за способа обработки операций BatchJob основная причина сбоев может появиться в индексе до или после сбоев в нисходящем направлении.

Например, при обработке ответа от ListBatchJobResults вы можете обнаружить, что несколько операций завершились неудачей с сообщением о состоянии Ad group is invalid due to the listing groups it contains . Это сообщение обычно указывает на то, что операция по данному индексу была отменена из-за неудачной операции по другому индексу. Чтобы определить основную причину проблемы, мы рекомендуем перебрать все сообщения о состоянии в BatchJobResult — до и после сообщения об ошибке index of the Ad group is invalid — в поисках дополнительной информации об ошибке.