Пакетная обработка для максимальной эффективности

Пакетная обработка позволяет отправить набор операций, которые могут быть взаимозависимыми, нескольким службам без синхронного ожидания завершения операций. Пакетную обработку можно использовать для создания кампаний с максимальной эффективностью и управления ими.

В этом руководстве приведены подробные сведения о кампаниях с максимальной эффективностью при работе с пакетной обработкой. В общем руководстве по пакетной обработке представлены общие сведения о пакетной обработке, а в руководстве по структурным запросам содержится подробная информация о составлении запросов для создания кампаний с максимальной эффективностью или управления ими.

Чтобы создать кампанию с максимальной эффективностью с помощью пакетной обработки, выполните следующие действия:

Создать новое пакетное задание

Выполните общий шаг создания задания пакетной обработки, чтобы создать ресурс BatchJob .

Подготовьте список операций мутации

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

Требования CampaignOperation и CampaignAssetOperation

Если для кампании включены рекомендации по бренду (см. Рекомендации по бренду ), вы должны связать активы бренда с кампанией с помощью ресурсов CampaignAsset . Более того, в пакетном задании создание этих ресурсов CampaignAsset должно происходить сразу после создания самого ресурса Campaign . Если ресурсы CampaignAsset не создаются сразу после ресурса Campaign (когда включены рекомендации по брендингу — см. раздел «Устранение неполадок» ), запрос завершится неудачей и вернет ошибку CampaignError , указывающую на отсутствие ресурсов. Включение операций создания CampaignAsset позднее в тот же список операций не предотвратит эту ошибку.

Требования AssetGroupOperation и AssetGroupAssetOperation

Операции типа MutateOperation , которые создают ресурсы AssetGroup и AssetGroupAsset в пакетном задании, должны быть последовательными без других промежуточных операций, поскольку эти операции группируются вместе при обработке. В противном случае запрос выдает ошибку AssetGroupError указывающую, что некоторые активы отсутствуют , даже если операции, необходимые для удовлетворения минимальных требований к активам, будут включены позже в список операций.

Лучшие практики AssetGroupListingGroupFilterOperation

При работе с фильтрами группы списков в контексте AssetGroupListingGroupFilter мы рекомендуем последовательно добавлять операции AssetGroupListingGroupFilterOperation , нацеленные на одну и ту же AssetGroup , в пакетное задание, чтобы набор операций обрабатывался атомарно во время разделения пакета. Дополнительную информацию о групповом разделении и других факторах, влияющих на группы объявлений, см. в руководстве по пакетной обработке групп объявлений .

Добавьте операции изменения в задание

Добавьте операции изменения из шага 2 в список и вызовите AddBatchJobOperations , чтобы добавить список мутаций в пакетное задание, созданное на шаге 1 . Следуйте шагу добавления операций в общем руководстве по пакетной обработке, чтобы добавить список операций изменения.

Запуск пакетного задания

Разрешите запуск загруженных заданий, вызвав RunBatchJob . Пример см. в разделе «Выполнение пакетного задания» в общем руководстве по пакетной обработке.

Получить статус задания

Пакетные задания начинаются как длительные операции и обычно требуют времени для завершения. После запуска задания используйте метод GetOperation длительной операции, чтобы опрашивать состояние задания, пока оно не будет выполнено.

Когда все пакетные задания будут завершены, вызовите ListBatchJobResults , чтобы распечатать их статусы и ответы, следуя шагу «Список всех результатов пакетных заданий» в общем руководстве по пакетной обработке.