Перейти до вмісту

n8n

Пакет n8n-nodes-basedb додає до n8n три вузли:

ВузолРоль
basedbчитати й записувати рядки таблиці, коментувати рядок; можна використовувати як інструмент агента ШІ в n8n
basedb Triggerзапускати робочий процес для кожного рядка, створеного — або створеного чи зміненого — від часу останньої перевірки
basedb Webhook Triggerзапускати робочий процес у момент, коли рядок створено, змінено або видалено

У n8n: Settings › Community Nodes › Install, потім n8n-nodes-basedb.

Без інтерфейсу — режим черги, заздалегідь змонтований образ Docker: npm install n8n-nodes-basedb у папці ~/.n8n/nodes, потім перезапустіть n8n.

Створіть у n8n облікові дані basedb API:

ПолеЗначення
Instance URLадреса, за якою ви відкриваєте basedb: https://basedb.exemple.fr
Workspaceідентифікатор простору, той самий, що в адресах API (/api/v1/<простір>/…): t4z56fq, якщо екземпляр не задає BASEDB_TENANT
Tokenтокен інтеграції: меню ⋯ бази → API та агенти → Токени API і MCP…
Environmentнеобов’язково: середовище бази, у якому працювати — recette, production… Порожньо: продакшн

Токен відкриває одну базу — усі її середовища або лише одне, якщо його обмежили під час створення. Він читає її рядки, записує їх, якщо створений із правом запису, і ніколи не має більше дозволів, ніж особа, яка його створила. Під час збереження n8n перевіряє з’єднання і повідомляє, якщо токен відхилено.

Щоб працювати і з продакшном, і з тестуванням, створіть два набори облікових даних з тим самим токеном: один із порожнім Environment, другий — з recette. Якщо середовище не вибрано, список баз вузла показує кожне середовище, а його назва стоїть у дужках.

Читання і запис: вузол basedb

Section titled “Читання і запис: вузол basedb”
ОпераціяЩо вона робить
Row › Createдодає рядок
Row › Create or Updateзмінює рядок, у якого вибрані поля мають ці значення, або додає його, якщо жоден рядок їх не має
Row › Getчитає рядок за його _id
Row › Get Manyчитає рядки за фільтром, у заданому порядку, до межі або всі, сторінка за сторінкою
Row › Updateзмінює рядок, знайдений за _id або за іншими полями
Comment › Createкоментує рядок; @згадка сповіщає особу

База і таблиця вибираються зі списків — тих, які відкриває токен. Поля для запису показуються під своєю назвою в basedb, список вибору — зі своїми варіантами, поле «Особа» — з учасниками простору; обчислюване поле — формула, підстановка, зведення, автоматичний номер — у списку немає, бо basedb записує його сам. Значення, яке поле відхиляє, зупиняє вузол на коді basedb і його поясненні.

  • Фільтр і сортування використовують технічні назви полів, ті самі, що в SQL: statut eq "gagne" and montant gte 10000, -montant,nom. Граматика та сама, що в REST API.
  • Числа надходять як десятковий текст ("1250.50"), щоб не втратити жодної цифри; параметр Numbers as Numbers перетворює їх на числа.
  • Зв’язок читається як { "id": …, "display": … } і записується через _id пов’язаного рядка.
  • Create or Update ніколи не змінює кілька рядків одразу: якщо кілька мають ці значення, вузол зупиняється, а не вгадує.
  • Немає операції Delete: щоб прибрати рядки, позначте їх (статус «Архівовано»), доручіть видалення автоматизації або викличте REST API токеном, створеним для видалення.

Запуск робочого процесу

Section titled “Запуск робочого процесу”

При кожній перевірці: basedb Trigger

Section titled “При кожній перевірці: basedb Trigger”

Вузол запитує в basedb, у вибраному темпі (щохвилини, щогодини…), рядки, створені — або створені чи змінені — від попереднього разу, за потреби ще й з фільтром. Він працює всюди, навіть коли basedb не може з’єднатися з n8n. Під час першої перевірки він запам’ятовує стан таблиці й нічого не видає; тестовий запуск з редактора повертає останній рядок, щоб було чим з’єднати наступні вузли.

Кожен рядок, створений, змінений або видалений — навіть SQL, написаним прямо в PostgreSQL — запускає робочий процес негайно:

  1. Додайте вузол і скопіюйте його Production URL.
  2. У basedb, меню ⋯ бази → API та агенти → Вебхуки…: створіть вебхук на цю адресу, виберіть його таблиці та події.
  3. basedb один раз показує секрет підпису: вставте його в облікові дані basedb Webhook у n8n.
  4. Активуйте робочий процес.

Кожна подія стає елементом: її type (record.created, record.updated, record.deleted), таблиця, рядок до і після, та змінені поля (changed). Вузол перевіряє підпис кожної доставки і відповідає 401 тій, у якої його немає, у якої він хибний, або якій більш ніж п’ять хвилин. basedb доставляє щонайменше один раз: усувайте дублікати за id події, якщо робочий процес не повинен обробляти її двічі.

Вузол HTTP Request n8n також розмовляє з basedb: заголовок Authorization: Bearer <токен>, JSON на вході й виході, пагінація через meta.next_cursor, переданий як after ({{ $response.body.meta.next_cursor }}), і відновлення після збою за фільтром на _updated_at і через …/<таблиця>/deleted?since=.

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.