Выгрузка файлов на Яндекс Диск
Last updated
Last updated
Вам нужно выгрузить файлы из записей Бипиума на Яндекс Диск. Когда данных немного — можно скачать и загрузить их вручную. Но с увеличением числа файлов ручная выгрузка файлов становится утомительной. Бипиум может автоматизировать процесс выгрузки файлов.
В каталоге «Правила загрузки» создается запись с указанием каталога и ID поля типа «Файл» из которого нужно выгрузить файлы на Яндекс Диск:
После сохранения записи Бипиум выгружает все файлы из указанного поля каталога. Состояние выгрузки можно отслеживать по полям из секции «Служебная информация» записи правила.
Запись правила в момент выгрузки:
Запись правила после успешного завершения выгрузки:
Файлы будут размещены на Яндекс Диске по следующему пути:
Так выглядит запись из выгружаемого каталога «Товары»:
Так выглядят выгруженные из этой записи файлы на Яндекс Диске:
При создании записи в каталоге с правилами, сценарий обработки записи проверяет наличие и тип указанного поля в структуре выбранного каталога. Указанное поле должно присутствовать в структуре каталога и его тип должен быть файлом. Если условия не выполняются, то сценарий обработки записи установит статус «Ошибка» для правила
Если проверка прошла успешно, сценарий обработки новой записи запустит сценарий загрузки файлов.
Для загрузки файлов на Яндекс Диск вам нужно получить OAuth-токен Яндекса. Узнать о том, что такое OAuth-токен и как его получить, вы можете в документации Яндекса по ссылке.
Бипиум хранит список всех каталогов в виде записей в служебном каталоге «Каталоги». Этот каталог по умолчанию скрыт в системе. Для того, чтобы реализовать процесс загрузки файлов на Яндекс Диск, необходимо открыть отображение этого каталога.
Создайте новую запись в каталоге «Внешние запросы». В качестве сценария прикрепите следующий файл сценария.
Файл сценария выглядит следующим образом:
Этот сценарий открывает отображение каталога «Каталоги» в вашей системе.
В сценарии нужно изменить:
Компонент «Открываем каталог каталогов». В поле «Заголовки (headers)» в значении заголовка «from» укажите поддомен вашей системы. Например, для домена https://test.bpium.ru нужно указать «test».
Запустите сценарий во внешнем запросе, перейдя по полному адресу внешнего запроса.
Если все сделано правильно, в отделе «Управление» появится каталог «Каталоги» со списком всех каталогов в системе.
Создайте каталог «Правила загрузки». В этом каталоге будут собраны правила загрузки файлов и статус их выполнения. Поля каталога нужно создавать в том же порядке, не нарушая последовательность id-полей:
Правило (Секция)
Наименование (Текст). Описание: Содержит наименование правила.
Статус (Статус) Описание: Статус выполнения процесса загрузки файлов. Значения: «В очереди», «Запущен», «Завершен», «Ошибка». Будет меняться автоматически исходя из результата выполнения сценария загрузки. Настройки: По умолчанию: первый элемент, редактируемое только через API.
Каталог (Связанный каталог) Описание: Содержит каталог, из записей которого будут загружаться файлы на Яндекс Диск. Настройки: Обязательное поле, связь с каталогом «Каталоги».
ID-поля для файлов (Текст) Описание: Содержит id-поля для файлов в выбранном каталоге. Настройки: Обязательное поле.
Служебная информация (Секция)
Дата запуска (Дата) Описание: Содержит в себе дату создания правила. Будет проставляться автоматически при создании правила. Настройки: «С временем», редактируемое только через API.
Дата окончания (Дата) Описание: Содержит в себе дату завершения процесса загрузки файлов. Будет проставляться автоматически после завершения сценария загрузки. Настройки: «С временем», редактируемое только через API
Лог (Текст) Описание: Содержит в себе данные о выполнении процесса загрузки. Будет заполняться автоматически в зависимости от результатов выполнения процесса загрузки. Настройки: Многострочный текст, редактируемое только через API
В системном каталоге «Сценарии» создайте запись и приложите к нему файл сценария: «Выгрузка файлов на Яндекс-Диск».
Этот сценарий не связан с событиями. Он запускается из сценария «Запустить выгрузку файлов».
Сценарий выглядит следующим образом:
Сценарий выполняет:
Создание корневого каталога «Выгрузки Бипиум»
Создание подкаталога с названием выбранного каталога
Получение пачки записей из выбранного каталога
В сценарии нужно изменить:
В компоненте «path1 & path2 & Authorization» в поле «Authorization» укажите ваш OAuth-токен.
В системном каталоге «Сценарии» создайте запись и приложите к нему файл сценария: «Запустить выгрузку файлов».
Сценарий выглядит следующим образом:
Сценарий выполняет:
Получение структуры выбранного каталога
Проверка наличия указанного поля в структуре каталога и типа данного поля
Если условия выполняются, то запускается сценарий выгрузки файлов. Если условия не выполняются, то в правиле фиксируется ошибка.
В сценарии нужно изменить:
В компоненте «Запуск процесса» в поле «Сценарий» укажите сценарий «Запустить выгрузку файлов».
В системном каталоге «События» нужно создать событие для каталога «Правила загрузки»:
Событие отслеживает создание записи (уведомление) в каталоге правил и запускает сценарий запуска выгрузки файлов.
В качестве сценария прикрепите сценарий «Запустить выгрузку файлов».
Для тестирования создайте новую запись в каталоге «Правила загрузки»: задайте правилу любое наименование. Выберите каталог, в котором есть поле для файлов. Введите id-поля для файлов в выбранном каталоге.
Если в выбранном каталоге указанное поле действительно является полем для файлов, то сценарий запустит процесс загрузки файлов, а статус перейдет на «Запущен»:
После завершения процесса загрузки файлов во всех записях каталога, статус изменится на «Завершен»:
Пример записи с файлом в Бипиум:
Файлы на Яндекс Диске после загрузки: