Бесплатная библиотека FileAPI Kit позволяет выполнять в Loginom все действия над папками и файлами в no-code стиле без кодирования. Сценарии, созданные с ее помощью, не зависят от операционной системы (Linux/Windows) и обеспечивают безопасную работу на сервере
При аналитической обработке регулярно возникает потребность выполнения файловых операций: создание, удаление, переименование папок/файлов и т.п. Типичный кейс — консолидация данных о продажах розничной сети при помощи ежедневной выгрузки информации в файлы с последующей загрузкой в хранилище данных.
Чаще всего для этого используются некоторые соглашения. Например, выгрузки складируются в определенную папку на сервере, а имена файлов формируются как комбинация номера магазина и даты продаж. Каждые 10 минут автоматически запускаются сценарии обработки, которые должны перенести данные из всех обнаруженных в папке файлов в хранилище, а по завершении операции — удалить их.
Loginom позволяет реализовать подобный ETL-процесс, но для автоматизации всех действий необходимо выполнение в сценарии операций с файловой системой, например, получение списка файлов или очистка папки. Эти операции можно выполнить при помощи 3-х встроенных в Loginom компонентов:
Применение двух первых способов в серверных редакциях небезопасно, т.к. с их помощью пользователь может совершать практически любые операции, например, получить доступ к данным за пределами файлового хранилища Loginom. Именно поэтому по умолчанию в серверных версиях их использование запрещено, и права на запуск должен предоставить администратор. Кроме того, компонент «Выполнение программы» доступен только в редакции под Windows.
Более безопасным является применение JavaScript, в котором реализован интерфейс для работы с файловой системой FileStorage API. Он предоставляет набор функций для выполнения операций с файлами и папками непосредственно из узла JavaScript. Но для его применения необходимо знание данного языка программирования, что отсекает определенное количество пользователей.
Для решения задачи безопасного выполнения файловых операций внутри сценария без привлечения программистов была разработана библиотека компонентов FileAPI Kit. Она бесплатна и доступна во всех редакциях Loginom. Настольная версия будет обращаться к файловой системе компьютера, а серверная — к Loginom FileStorage.
FileAPI включает в себя следующий список компонентов:
Благодаря данной библиотеке все операции с файлами и папками будут выполняться без написания кода. Таким образом снижается порог входа, т.к. для работы не потребуются знания JavaScript. Теперь достаточно подключить библиотеку FileAPI Kit и использовать готовые компоненты.
Работа с файлами при помощи библиотеки не зависит от операционной системы. Логика, спроектированная для Windows, будет работать на Linux без каких-либо изменений и доработок. Следовательно, ее применение позволяет создавать универсальные сценарии.
Применения FileAPI Kit безопасно «из коробки». Для выполнения операций не требуется предоставление прав администратора, а сценарий будет работать только с теми файлами, доступ к которым разрешен, в частности, при использовании сервера — это файлы доступные пользователю в файловом хранилище Loginom.
Ниже представлен сценарий, который решает задачу автоматического переноса файлов с продажами в хранилище, которая была описана в начале статьи.
В описанном выше кейсе файлов с данными будет много, и их количество может изменяться. Например, если торговая точка не работала в течение дня, то и отчет генерироваться не будет. В сценарии это отрабатывается корректно.
Сначала необходимо получить перечень всех файлов, которые требуют переноса. Воспользуемся узлом «Список файлов». В окне «Настройка переменных» необходимо указать путь к папке, в которой содержатся необходимые файлы. А также установить значение true/false для включения либо исключения вложенных папок в список.
На первом выходном порту сформируется таблица с именами всех файлов, которые содержатся в указанной папке.
Параллельно создадим новую папку, куда будут перемещены загруженные данные. Для этого перенесем на область выполнения сценария узел «Создать папку». В настройках необходимо указать путь, по которому будет располагаться данная папка.
Далее добавим узел «Переместить список файлов». На первый входной порт подадим данные, сформированные компонентом «Список файлов», второй порт соединим с узлом «Создать папку». На этом настройка завершена. Как только узел будет запущен на выполнение, весь список файлов переместится из одной папки в другую.
Заключающим этапом после переноса файлов будет удаление исходной папки, в которой они располагались. Для этого воспользуемся компонентом «Удалить папку». В окне «Настройка соответствия между переменными» необходимо указать расположение данной папки. После завершения работы сценария файлы будут перенесены в новую папку, а исходная будет удалена.
Аналитик должен добавить блок необходимых действий для того, чтобы выполнялось не только перемещение/удаление файлов, но и их обработка. Затем настроить автоматический запуск сценария для ежедневного переноса данных о продажах в хранилище.
Использование библиотеки упрощает работу с файлами и делает ее доступной специалисту не знакомому с программированием:
Библиотека FileAPI Kit доступна бесплатно всем пользователям Loginom для использования как в коммерческих, так и некоммерческих целях.
Другие материалы по теме: