Пакетная обработка позволяет отправлять набор операций, которые могут быть взаимозависимыми, в несколько сервисов, не дожидаясь синхронного завершения операций. Для создания кампаний с максимальной эффективностью и управления ими можно использовать пакетную обработку.
В этом руководстве приведены сведения о пакетной обработке в кампаниях с максимальной эффективностью. В руководстве по пакетной обработке приведена общая информация о пакетной обработке, а в руководстве по структуре запросов – подробная информация о том, как создавать запросы для создания кампаний с максимальной эффективностью и управления ими.
Чтобы создать кампанию с максимальной эффективностью с помощью пакетной обработки, выполните следующие действия:
Как создать пакетное задание
Выполните общие инструкции по созданию пакетной обработки, чтобы создать ресурс 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, чтобы вывести их статусы и ответы, как описано в разделе Получение результатов пакетных заданий общего руководства по пакетной обработке.