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