Перейти к основному содержимому

07 Группа “Хранилище”. Описание узлов

Узел Запись в файл

Узел Запись в файл в Палитре
Узел Запись в файл на Холсте

Записывает msg.payload в файл, либо добавлением в конец, либо заменой существующего контента. Кроме того, им можно удалять файл.

Принимает:

  • filename строка – eсли не настроено в узле, это необязательное свойство устанавливает имя файла, который будет обновлен.

Выход: по завершении записи входное сообщение отправляется на выходной порт.

Данные каждого сообщения будут добавлены в конец файла, при желании добавляя символ новой строки \n между каждым.

Если используется msg.filename, файл будет закрыт после каждой записи. Для лучшей производительности используйте фиксированное имя файла.

Он может быть настроен на перезапись всего файла, а не на добавление. Например, при записи двоичных данных (типа изображения) в файл, следует использовать эту опцию и отключить опцию добавления новой строки.

Кодировка данных, записанных в файл, может быть выбрана в списке кодировок.

Кроме того, этот узел может быть настроен на удаление файла.

Узел Чтение из файла

Узел Чтение из файла в Палитре
Узел Чтение из файла на Холсте

Читает содержимое файла как строку или двоичный буфер.

Принимает:

  • filename строка – это свойство устанавливает имя файла для чтения, если оно не задано в настройках узла.

Выводит:

  • payload строка | буфер – cодержимое файла в виде строки или двоичного буфера.
  • filename строка – eсли не настроено в узле, это необязательное свойство устанавливает имя файла для чтения.

Имя файла должно быть абсолютным путем к файлу, иначе оно будет путем относительно рабочего каталога процесса Luxms Databoring.

В Windows может быть необходимо кодировать разделители пути двойной косой чертой, например: \\Users\\myUser.

При желании текстовый файл можно разбить на строки, выводя по одному сообщению для каждой строки, или двоичный файл разбить на более мелкие фрагменты буфера - размер блока зависит от операционной системы, но обычно составляет 64 КБ (Linux/Mac) или 41 КБ (Windows).

При разбиении на несколько сообщений каждое сообщение будет иметь свойство parts, формирующее полную последовательность сообщений.

Кодировка входных данных может быть выбрана из списка кодировок, если выходной формат - строка.

Узел Наблюдение

Узел Наблюдение в Палитре
Узел Наблюдение на Холсте

Наблюдает за изменениями директории или файла.

Вы можете ввести список разделенных запятыми директорий и/или файлов. Вам нужно взять в кавычки "..." те из них, в которых есть пробелы.

В Windows вы должны использовать двойную обратную косую черту \\ вместо одной в именах директорий.

Полное имя фактически измененного файла помещается в msg.payload и msg.filename, а строковая версия списка наблюдения возвращается в msg.topic.

.file содержит только краткое имя файла, который изменился. msg.type содержит тип измененной единицы, обычно это file для файла или directory для директории, тогда как msg.size содержит размер файла в байтах.

В Linux все является файлами, и может быть под наблюдением.

к сведению

Наблюдаемые директория или файл должны существовать. Если файл или директория будут удалены, они могут перестать отслеживаться, даже если они затем будут созданы заново.