Все ноды/Integrations/Files
Чтение файла
Читает текстовый файл из файлового хранилища.
Тип в графе: file_read
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение
- Исполнение + данные
Запускается сразу
Как применять
Нода читает один файл, путь которого известен заранее. Если путь ещё нужно найти — сначала Поиск файлов. Если файл табличный и нужны строки и колонки, а не текст, — Читать CSV или Читать XLSX: они возвращают таблицу, а не строку. Если решать, какой файл открыть, должна модель — Инструмент файлов.
Как это работает
Поле «Источник подключения» по умолчанию стоит в значении «Из контекста рана»: нода работает
с собственным хранилищем воркспейса — тем же деревом, что показывает вкладка «Файлы». Порт
file_store в этом режиме не рисуется. Чтобы читать из другого места, переключите поле на
«Внешнее подключение» и подключите Хранилище workspace,
WebDAV-конфигурацию или
Локальную ФС. «Подпапка» действует только в первом режиме — у
подключённой конфиг-ноды свой корень.
Текстовый файл или бинарный, нода решает по расширению пути, ещё до чтения. Текст
возвращается в content вместе с encoding и флагом truncated. Бинарный (картинка, PDF)
не декодируется: он уходит на порт file ленивой ссылкой, а content остаётся пустым —
байты подтянутся там, где они действительно нужны, например при отправке в модель или при
вложении в ответ.
Отсутствующий файл, отказ в доступе, недоступное хранилище — это отказ ноды с кодом ошибки,
а не пустой content. Включите «Выход ошибки», чтобы обработать такой случай в графе.
Частые ошибки
- Бинарный файл из хранилища воркспейса. Ленивая ссылка резолвится только для хранилища с подключением, а у встроенного его нет — нода откажет вслух, вместо того чтобы отдать ссылку без байтов. Для картинок и PDF нужен внешний диск через WebDAV.
- Расширение не совпадает с содержимым. Файл
dump.txt, внутри которого PDF, будет декодирован как текст. - Ожидание, что «Макс. байт» можно поднять выше 1 МиБ. Это потолок: чтение обрывается и
поднимает
truncated, ошибки при этом нет. - Чужая кодировка. Нечитаемые байты заменяются символом-заглушкой, а не роняют ноду:
файл в
cp1251, прочитанный какutf-8, вернёт мусор, который выглядит как успех. - Абсолютный путь в поле. Ведущий
/просто отбрасывается, и путь читается от корня хранилища:/etc/hostsпревращается вetc/hostsвнутри хранилища, а не в системный файл. Сегмент..отвергается сразу.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
File storefile_store | Данныеdata | — | показывается, когда connection_source ≠ "auto" |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Successoutput | Исполнение + данныеexecute_data | object | |
Erroron_error | Исполнение + данныеexecute_data | — | показывается, когда expose_error_output = true |
Filefile | Данныеdata | file |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Путь к файлуpath | string | "" | Относительно корня хранилища. Текстовые файлы возвращаются на порт `content`; бинарные (image/pdf/…) — на порт `file` в виде ленивой ссылки, которую может прочитать LLM. поддерживает шаблоны |
Источник подключенияconnection_source | string | auto | Откуда нода берёт подключение. «Из контекста рана» использует то, что платформа уже знает (Telegram-бот, в который задеплоен этот воркфлоу / собственное файловое хранилище этого воркспейса), и не требует проводов. «Внешнее подключение» показывает ресурсный порт, чтобы в него можно было подключить конфиг-ноду. Варианты: |
Подпапкаstore_subfolder | string | "" | Необязательная папка внутри хранилища этого воркспейса, которую считать корнем, напр. `reports` или `sessions/{{ variables.session_id }}`. Пусто = корень хранилища. поддерживает шаблоны показывается при connection_source = auto |
| Дополнительно | |||
Макс. байтmax_bytes | integer | 1048576 | Чтение останавливается здесь, и в выводе поднимается флаг `truncated`. |
Кодировка текстаencoding | string | utf-8 | Используется для декодирования текстовых файлов; для бинарных игнорируется. |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.