Все ноды/Integrations/Files
Файлы: записать файл
Записывает или заменяет строки в файле в файловом хранилище.
Тип в графе: file_write
Exec
Можно включить выход ошибки и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий сценарий
- Исполнение
- Исполнение + данные
Запускается сразу
Как применять
Нода сохраняет текст в файл: целиком либо заменяя один диапазон строк. Для таблиц берите
Записать CSV или Записать XLSX — они
пишут DataFrame в нужном формате. Если файлы создаёт модель по ходу разговора, это
Инструмент файлов с включённым fs_write.
Как это работает
Куда писать, решает «Источник подключения». По умолчанию — «Из текущего запуска», то есть
собственное хранилище воркспейса: записанное сразу видно во вкладке «Файлы» и учитывается в
квоте на файлы. В режиме «Внешнее подключение» появляется порт file_store, и корень задаёт
подключённая конфиг-нода; квота воркспейса на такую запись не распространяется.
Режим «Перезаписать файл целиком» пишет содержимое поля поверх всего файла. Режим «Заменить диапазон строк» читает файл, подставляет текст замены вместо строк с первой по последнюю (нумерация с единицы, границы включительно) и записывает результат обратно.
На выходе — фактический путь и bytes_written. Это размер файла после записи, а не длина
того, что вы подставили. Потолок записи — 4 МиБ, выше него нода отказывает с кодом
SIZE_LIMIT. Флага «успешно» в выводе нет намеренно: запись, которой не произошло, — это
отказ ноды, а не успех с полем false.
Частые ошибки
- Замена строк в несуществующем файле. Режим
replace_linesне создаёт файл и не дописывает его: диапазон должен существовать целиком, иначе нода отказывает. Первую версию файла создавайте перезаписью. - Ожидание дозаписи. Режима append нет. Чтобы дописать строку в журнал, прочитайте файл Чтением файла, склейте текст и перезапишите.
- Пустое содержимое. Шаблон, отрендерившийся в пустоту, перезапишет файл пустым — это корректная запись нуля байт, а не ошибка.
- Папки на WebDAV. Недостающие родительские папки создаются в хранилище воркспейса, но не на WebDAV-диске: там папку нужно завести заранее, иначе сервер отвечает отказом.
- Две ветки пишут в один путь. Блокировок нет, побеждает та, что закончила последней. Разводите параллельные ветки по разным файлам — например, подставляя в путь идентификатор сессии.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Хранилище файловfile_store | Данныеdata | — | показывается, когда connection_source ≠ "auto" |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Итог действияoutput | Исполнение + данныеexecute_data | object | |
Ошибкаon_error | Исполнение + данныеexecute_data | — | показывается, когда expose_error_output = true |
Файлfile | Данныеdata | file |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Путь к файлуpath | string | "" | Относительно корня хранилища; родительские папки создаются при необходимости. поддерживает шаблоны |
Режим записиmode | string | overwrite | overwrite перезаписывает файл целиком; replace_lines правит один диапазон строк (нумерация с 1, границы включительно). Варианты: |
Содержимоеcontent | string | "" | Полное содержимое файла в режиме overwrite. поддерживает шаблоны показывается при «Режим записи» = Перезаписать файл целиком |
Начальная строкаstart_line | integer | 1 | Первая строка заменяемого диапазона (нумерация с 1, включительно). показывается при «Режим записи» = Заменить диапазон строк |
Конечная строкаend_line | integer | 1 | Последняя строка заменяемого диапазона (нумерация с 1, включительно). показывается при «Режим записи» = Заменить диапазон строк |
Текст заменыreplacement | string | "" | Текст, который записывается поверх выбранного диапазона строк. поддерживает шаблоны показывается при «Режим записи» = Заменить диапазон строк |
Источник подключенияconnection_source | string | auto | Откуда нода берёт подключение. «Из текущего запуска» использует то, что платформа уже знает (Telegram-бот, на который опубликован сценарий / собственное файловое хранилище этого пространства), и связей не требует. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду. Варианты: |
Подпапкаstore_subfolder | string | "" | Необязательная папка внутри хранилища этого пространства, которую считать корнем, напр. `reports` или `sessions/{{ variables.session_id }}`. Пусто = корень хранилища. поддерживает шаблоны показывается при «Источник подключения» = Из текущего запуска |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этой ноды.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.