Работа с файлами
Работа с файлами осуществляется с помощью блоков:
- Сформировать CSV
- Архивировать
- Распаковать
- Загрузить в каталог
- Получить список файлов
- Получить CSV
- Скачать содержимое файла
- Удалить файл
При работе с блоками пакета «Хранилище» для каждого пространства создается специальная папка с именем в виде GUID (уникальный идентификатор) в рабочем каталоге Proceset в подкаталоге filestorage %ProgramData%\Infomaximum на ОС Windows и /var/lib/infomaximum/data/ внутри контейнера на ОС Linux.
Сформировать CSV
Блок создает CSV-файл из данных, полученных из предыдущих блоков.
Параметры:
- Колонки CSV:
- имя колонки
- данные для колонки (добавляются через маппинг)
- Добавлять заголовки колонок (если включено, первая строка заголовков будет названием колонок)
- Разделитель:
- точка с запятой
- запятая
- прямая черта
- косая черта
- табуляция
- пробел
- другой (появляется поле для указания разделителя)
Сформированный файл можно архивировать и загрузить в каталог.
Архивировать
Блок архивирует данные файла, полученные из предыдущего блока, в формат gzip.
Файл, который необходимо архивировать, указывается в поле Содержимое файла с помощью маппинга.
Полученный архив можно загрузить в каталог и распаковать.
Распаковать
Блок предназначен для разархивации входного файла формата gzip.
Архив, который необходимо распаковать, укажите в поле Содержимое файла с помощью маппинга. Также можно указать название и расширение файла, необходимое для распакованного файла.
Загрузить в каталог
Блок создает файл и загружает его в указанный каталог в любом заданном формате.
Параметры блока:
- путь к файлу (для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к создаваемому файлу необходимо указывать с названием и расширением файла. Название файла может быть указано любое. Например, /имяпапки/имяфайла.csv. При загрузке архива укажите расширение .gzip. Путь также можно указать с помощью маппинга. В этом случае рядом с полем укажите расширение)
- содержимое файла (используются только поля маппинга). Может содержать:
- текст
- текст и теги маппинга. Содержимое должно быть однородно, невозможно совместить картинку и текст
- теги маппинга. Содержимое должно быть однородно, невозможно совместить картинку и текст
Загрузить файл возможно только при запуске всего скрипта, так как данные поступают от предыдущих блоков. При одиночном тестировании блока создается пустой файл без содержимого.
Получить список файлов
Блок позволяет получить список файлов, их характеристики и информацию о каталоге.
В поле Путь к каталогу для блоков пакета «Хранилище» укажите путь относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Для ввода пути к папке можно использовать как поля маппинга, так и текст.
Блок возвращает массив с данными:
- name — название файла/каталога (тип String)
- size — размер файла/каталога в байтах (тип String)
- owner — владелец файла/каталога (тип String)
- group — группа, к которой относится владелец файла/каталога (тип String)
- modification_time — время последнего изменения файла/каталога (тип DateTime)
- permissions — права пользователя на файл/каталог. Представляет из себя последовательность символов, отражающих наличие доступа на чтение, запись и выполнение для владельца, группы и других пользователей. Если доступ отсутствует, отображается прочерк
Получить CSV
С помощью блока можно получить CSV-файл из указанного каталога.
Параметры блока:
- путь к файлу (для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла)
- таблица содержит заголовок (определяет наличие/отсутствие заголовка таблицы)
- имена столбцов (колонки можно менять местами, удерживая нужную и перетаскивая вниз или вверх):
- имя колонки
- тип (строка, число, дробное число, дата и время, логический тип, большое целое число)
- загрузить пример (позволяет загрузить CSV-файл для автоматического добавления колонок. При нажатии кнопки открывается модальное окно для загрузки файла):
- типы данных определяются автоматически, можно изменить
- загрузка новой схемы заменяет предыдущую
- сохранить настройки парсинга (параметры передаются в настройки блока)
- настройка парсинга:
- разделитель (символ, разделяющий значения на элементы в CSV):
- точка с запятой
- запятая
- прямая черта
- косая черта
- табуляция
- пробел
- другой (появляется поле для указания разделителя)
- квалификатор (символ, обрамляющий значения элементов в CSV):
- одиночные кавычки
- двойные кавычки
- локаль (будет применена при парсинге значений из CSV. Выбирается из списка)
- кодировка (будет применена при разборе байтового потока файла. Выбирается из списка)
Загрузка примера
Для автоматического добавления колонок можно загрузить пример CSV-файла. Для этого нажмите Загрузить пример справа от заголовка Имена столбцов. Откроется модальное окно для загрузки файла.
Выберите файл и нажмите Продолжить.
Откроется окно предпросмотра, в котором можно сменить разделитель, квалификатор, локаль, кодировку и типы данных колонок. Если поставить галочку у параметра Сохранить настройки парсинга, настройки скопируются в параметры блока. Для завершения загрузки нажмите кнопку Применить.
Столбцы автоматически добавились, заменив предыдущие.
- Максимальный размер файла — 20 МБ
- Загрузка новой схемы заменяет предыдущую
- Если указаны типы, которые не соответствуют данным, появляется ошибка
- При попытке загрузить пустой файл отобразится ошибка, что файл пуст, окно предпросмотра не откроется
- Количество колонок в заголовке и количество колонок в самой таблице должны совпадать, иначе появится ошибка
- Если в одной и той же колонке встречаются разные типы данных, например, Строка и Число, все значения данной колонки конвертируются в строки
- Если пример CSV-файла состоит из одной строки, все колонки таблицы будут с типом Строка
- Все пустые значения или значения, где явно прописано null, будут с типом Строка
Скачать содержимое файла
Блок позволяет скачать файл из каталога, указанного в поле Путь к файлу. Для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла. Пример: /имяпапки/имяфайла.csv. Путь можно ввести вручную или использовать маппинг. Максимальный размер скачиваемого файла — 52,5 МБ.
Файл, загруженный с помощью этого блока, сохраняется в буфере и может многократно использоваться в других блоках для работы с файлами без повторных обращений к хранилищу.
Удалить файл
Блок удаляет файл из каталога, указанного в поле Путь к файлу. Для блоков пакета «Хранилище» укажите путь к файлу относительно каталога filestorage вашего пространства. Для блоков пакетов «FTP»/«SFTP»/«SMB» укажите путь относительно рабочей области, заданной в настройках подключения. Путь к файлу необходимо указывать с названием и расширением файла. Пример: /имяпапки/имяфайла.csv. Путь можно ввести вручную или использовать маппинг.
Была ли статья полезна?