При работе с фильтрами групп листинга в контексте AdGroupCriterion.listing_group
или AssetGroupListingGroupFilter
при проектировании интеграции примите во внимание следующие соображения.
Разделение партии
Если в пакетном задании есть какие-либо операции, содержащие критерии группы объявлений или фильтры групп листинга группы активов, операции в пакетном задании разделяются на несколько подпакетов при получении сервером API Google Ads. Обратите внимание, что в отличие от стандартных операций в пакетном задании, каждый подпакет, содержащий операции фильтра группы листинга, обрабатывается атомарно.
Способ разделения пакетных заданий, содержащих фильтры групп листинга, на подпакеты определяется следующими факторами:
- Тип фильтра группы листинга
-
AdGroupCriterion
илиAssetGroup
на который нацелен фильтр группы листинга - Порядок действий
Рассмотрим, как сгруппированы операции:
- Все последовательные операции
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
— в поисках дополнительной информации об ошибке.