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

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

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

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

Как создать пакетное задание

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

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

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

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

Если в кампании включены правила фирменного оформления (см. правила фирменного оформления), вы должны связать объекты бренда с кампанией, используя ресурсы CampaignAsset. Кроме того, в пакетном задании создание этих ресурсов CampaignAsset должно происходить сразу после создания самого ресурса Campaign. Если ресурсы CampaignAsset не созданы сразу после ресурса Campaign (когда включены правила фирменного оформления – см. Устранение неполадок), запрос не будет выполнен и вернет ошибку CampaignError, указывающую на отсутствие объектов. Добавление операций по созданию CampaignAsset в тот же список операций не предотвратит эту ошибку.

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

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

AssetGroupListingGroupFilterOperation рекомендаций

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

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

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

Как запустить пакетное задание

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

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

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

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