Все ноды/Integrations/Files

Запись файла

Записывает или заменяет строки в файле в файловом хранилище.

Запись файла
File storeSuccess
Error

Тип в графе: file_write

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий воркфлоу

Вход
Запись файла
Выход
  • Исполнение
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Нода сохраняет текст в файл: целиком либо заменяя один диапазон строк. Для таблиц берите Записать CSV или Записать XLSX — они пишут DataFrame в нужном формате. Если файлы создаёт модель по ходу разговора, это Инструмент файлов с включённым fs_write.

Как это работает

Куда писать, решает «Источник подключения». По умолчанию — «Из контекста рана», то есть собственное хранилище воркспейса: записанное сразу видно во вкладке «Файлы» и учитывается в квоте на файлы. В режиме «Внешнее подключение» появляется порт file_store, и корень задаёт подключённая конфиг-нода; квота воркспейса на такую запись не распространяется.

Режим «Перезаписать файл целиком» пишет содержимое поля поверх всего файла. Режим «Заменить диапазон строк» читает файл, подставляет текст замены вместо строк с первой по последнюю (нумерация с единицы, границы включительно) и записывает результат обратно.

На выходе — фактический путь и bytes_written. Это размер файла после записи, а не длина того, что вы подставили. Потолок записи — 4 МиБ, выше него нода отказывает с кодом SIZE_LIMIT. Флага «успешно» в выводе нет намеренно: запись, которой не произошло, — это отказ ноды, а не успех с полем false.

Частые ошибки

  • Замена строк в несуществующем файле. Режим replace_lines не создаёт файл и не дописывает его: диапазон должен существовать целиком, иначе нода отказывает. Первую версию файла создавайте перезаписью.
  • Ожидание дозаписи. Режима append нет. Чтобы дописать строку в журнал, прочитайте файл Чтением файла, склейте текст и перезапишите.
  • Пустое содержимое. Шаблон, отрендерившийся в пустоту, перезапишет файл пустым — это корректная запись нуля байт, а не ошибка.
  • Папки на WebDAV. Недостающие родительские папки создаются в хранилище воркспейса, но не на WebDAV-диске: там папку нужно завести заранее, иначе сервер отвечает отказом.
  • Две ветки пишут в один путь. Блокировок нет, побеждает та, что закончила последней. Разводите параллельные ветки по разным файлам — например, подставляя в путь идентификатор сессии.

Входы

ПортПроводДанныеПримечания
File storefile_storeДанныеdata

показывается, когда connection_source ≠ "auto"

Выходы

ПортПроводДанныеПримечания
SuccessoutputИсполнение + данныеexecute_dataobject
Erroron_errorИсполнение + данныеexecute_data

показывается, когда expose_error_output = true

Настройки

ПолеТипПо умолчаниюОписание
Путь к файлуpathstring""

Относительно корня хранилища; родительские папки создаются при необходимости.

поддерживает шаблоны

Режим записиmodestringoverwrite

overwrite перезаписывает файл целиком; replace_lines правит один диапазон строк (нумерация с 1, границы включительно).

Варианты: overwrite — Перезаписать файл целиком, replace_lines — Заменить диапазон строк

Содержимоеcontentstring""

Полное содержимое файла в режиме overwrite.

поддерживает шаблоны

показывается при mode = overwrite

Начальная строкаstart_lineinteger1

Первая строка заменяемого диапазона (нумерация с 1, включительно).

показывается при mode = replace_lines

Конечная строкаend_lineinteger1

Последняя строка заменяемого диапазона (нумерация с 1, включительно).

показывается при mode = replace_lines

Текст заменыreplacementstring""

Текст, который записывается поверх выбранного диапазона строк.

поддерживает шаблоны

показывается при mode = replace_lines

Источник подключенияconnection_sourcestringauto

Откуда нода берёт подключение. «Из контекста рана» использует то, что платформа уже знает (Telegram-бот, в который задеплоен этот воркфлоу / собственное файловое хранилище этого воркспейса), и не требует проводов. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду.

Варианты: auto — Из контекста рана, external — Внешнее подключение (подключить конфиг-ноду)

Подпапкаstore_subfolderstring""

Необязательная папка внутри хранилища этого воркспейса, которую считать корнем, напр. `reports` или `sessions/{{ variables.session_id }}`. Пусто = корень хранилища.

поддерживает шаблоны

показывается при connection_source = auto

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.