Данные, базы и файлы
Источники
Узел «Источник» читает данные в поле value, дальше значения расходятся по рёбрам-привязкам.
| Вид | Что читает |
|---|---|
| json, text, csv, excel | файл или вложение воркспейса; путь берётся из инспектора |
| dir | каталог как дерево записей |
| sql, mysql, pgsql | запрос к базе; sqlite это файл, остальные это подключение |
| sql-schema | схема базы как таблицы и поля на холсте |
| asset | вложение воркспейса как данные; большие файлы читаются кусками |
| plw-api | вызов метода описания API через песочницу языков |
| http | плагин: HTTP-запрос |
Подключение к базе описывается строкой в поле connection. Подключения через агента выглядят как agent:<агент>/<подключение>: запрос выполняется на вашей машине, в холст едут только строки результата. Пароли в строке подключения хранит сервер, клиент их не видит.
Структуру файла видно деревом: клик по ветке создаёт узел Get Path с этим путём.
Действия
Узел «Действие» запускается только явно: кнопкой ▶ или шагом exec-потока.
| Вид | Что делает |
|---|---|
| write-file, csv, excel | записать значение в файл песочницы сервера или агента |
| write-tree | записать дерево файлов; база пути и запуск задаются человеком |
| sql-exec | выполнить SQL на подключении |
| agent-exec | команда у агента компании по его собственному allow-списку |
| plw-api-call | вызвать метод описания API |
| dice-roll | бросок кубиков по выражению языка DICE |
| http-post | плагин: отправить HTTP-запрос |
Способности
Действие с внешним эффектом требует способности: выполнить SQL, сходить по HTTP, записать файл, исполнить код. По умолчанию они есть только у владельца и администратора команды, остальным их выдают отдельно. Дизайнер не выполнит запрос к базе даже своим узлом.
Файлы и вложения
Вложение это ассет воркспейса с контентным именем: одинаковые файлы не дублируются, повторный синк шлёт только новое. Zip читается по записям. Папка с картинками загружается пакетом. У команды есть квота на файлы и объём, она зависит от плана команды.
Запись на диск сервера идёт только в песочницу файлов воркспейса. Опасные расширения при записи обезвреживаются суффиксом, настоящее имя возвращается при скачивании.
Секреты
Тип узла «Секрет» хранит значение зашифрованным, ключ не покидает клиента, сервер видит только шифротекст. Серверные секреты для расписаний задаются оператором и подставляются как ${secret:имя} только при серверном прогоне.
Расписания и webhook
У узла «Старт» есть запуск: вручную, по расписанию на сервере или по webhook POST /workspaces/<ws>/hook/<ключ узла> с токеном. Расписание исполняется властью того, кто сохранил узел; если у него отобрали право, расписание встаёт и говорит об этом.