Zum Inhalt springen

n8n

Das Paket n8n-nodes-basedb fügt n8n drei Nodes hinzu:

NodeRolle
basedbdie Zeilen einer Tabelle lesen und schreiben, eine Zeile kommentieren; von einem KI-Agenten von n8n als Werkzeug nutzbar
basedb Triggereinen Workflow für jede seit der letzten Abfrage angelegte — oder angelegte oder geänderte — Zeile starten
basedb Webhook Triggereinen Workflow in dem Moment starten, in dem eine Zeile angelegt, geändert oder gelöscht wird

In n8n: Settings › Community Nodes › Install, dann n8n-nodes-basedb.

Ohne die Oberfläche — Warteschlangen-Modus, im Voraus eingebundenes Docker-Image — installieren Sie mit npm install n8n-nodes-basedb im Ordner ~/.n8n/nodes und starten n8n anschließend neu.

Legen Sie in n8n Anmeldedaten basedb API an:

FeldWert
Instance URLdie Adresse, unter der Sie basedb öffnen: https://basedb.exemple.fr
Workspacedie Kennung des Arbeitsbereichs, die der API-Adressen (/api/v1/<espace>/…): t4z56fq, außer die Instanz legt BASEDB_TENANT fest
Tokenein Integrationstoken: Menü ⋯ der Datenbank → API und Agenten → API- und MCP-Token …
Environmentoptional: die Umgebung der Datenbank, in der gearbeitet wird – recette, production … Leer: die Produktion

Ein Token öffnet eine Datenbank – alle ihre Umgebungen oder nur eine, wenn es bei seiner Erstellung beschränkt wurde. Es liest ihre Zeilen, schreibt sie, wenn es mit Schreibrecht angelegt wurde, und hat nie mehr Berechtigungen als die Person, die es angelegt hat. Beim Speichern testet n8n die Verbindung und sagt, ob das Token abgelehnt wird.

Um mit der Produktion und mit dem Staging zu arbeiten, legen Sie zwei Anmeldedaten mit demselben Token an: eines mit leerem Environment, das andere mit recette. Ohne gewählte Umgebung zeigt die Liste der Datenbanken des Nodes jede Umgebung, mit ihrem Namen in Klammern.

OperationWas sie tut
Row › Createlegt eine Zeile an
Row › Create or Updateändert die Zeile, deren ausgewählte Felder diese Werte tragen, oder legt sie an, wenn keine sie trägt
Row › Getliest eine Zeile über ihre _id
Row › Get Manyliest die Zeilen eines Filters, in der gewünschten Reihenfolge, bis zu einer Grenze oder alle, Seite für Seite
Row › Updateändert eine Zeile, gefunden über ihre _id oder andere Felder
Comment › Createkommentiert eine Zeile; eine @-Erwähnung benachrichtigt die Person

Die Datenbank und die Tabelle werden aus Listen gewählt — denen, die das Token öffnet. Die zu schreibenden Felder erscheinen mit ihrem Namen in basedb, eine Einfachauswahl mit ihren Optionen, ein Feld Person mit den Mitgliedern des Arbeitsbereichs; ein berechnetes Feld — Formel, Nachschlagefeld, Aggregation, Autonummer — erscheint dort nicht, da basedb es selbst schreibt. Ein vom Feld abgelehnter Wert stoppt den Node mit dem Code von basedb und seiner Bedeutung.

  • Der Filter und die Sortierung verwenden die technischen Namen der Felder, die des SQL: statut eq "gagne" and montant gte 10000, -montant,nom. Die Grammatik ist die der REST-API.
  • Zahlen kommen als Dezimaltext an ("1250.50"), um keine Ziffer zu verlieren; die Option Numbers as Numbers wandelt sie in Zahlen um.
  • Eine Verknüpfung wird als { "id": …, "display": … } gelesen und über die _id der verknüpften Zeile geschrieben.
  • Create or Update ändert nie mehrere Zeilen: Tragen mehrere die Werte, stoppt der Node, statt zu raten.
  • Keine Operation Delete: Um Zeilen zu entfernen, markieren Sie sie (einen Status „Archivé“), überlassen Sie das Löschen einer Automatisierung, oder rufen Sie die REST-API mit einem zum Löschen angelegten Token auf.

Der Node fragt basedb im gewählten Takt (jede Minute, jede Stunde …) nach den seit dem letzten Mal angelegten — oder angelegten oder geänderten — Zeilen, bei Bedarf mit einem zusätzlichen Filter. Er funktioniert überall, auch wenn basedb n8n nicht erreichen kann. Bei seiner ersten Abfrage merkt er sich den Stand der Tabelle und gibt nichts aus; ein Test aus dem Editor liefert die letzte Zeile, um die folgenden Nodes verbinden zu können.

Jede angelegte, geänderte oder gelöschte Zeile — auch durch SQL, das direkt in PostgreSQL geschrieben wird — startet den Workflow sofort:

  1. Fügen Sie den Node hinzu und kopieren Sie seine Production URL.
  2. In basedb, Menü ⋯ der Datenbank → API und Agenten → Webhooks…: Legen Sie einen Webhook zu dieser Adresse an und wählen Sie seine Tabellen und seine Ereignisse.
  3. basedb zeigt einmal das Signatur-Geheimnis: Tragen Sie es in Anmeldedaten basedb Webhook von n8n ein.
  4. Aktivieren Sie den Workflow.

Jedes Ereignis wird zu einem Element: sein type (record.created, record.updated, record.deleted), die Tabelle, die Zeile davor und danach, und die geänderten Felder (changed). Der Node prüft die Signatur jeder Zustellung und antwortet mit 401 auf eine ohne, eine mit einer falschen, oder eine, die älter als fünf Minuten ist. basedb liefert mindestens einmal: Entdoppeln Sie über die id des Ereignisses, wenn der Workflow es nicht zweimal verarbeiten soll.

Der Node HTTP Request von n8n spricht ebenfalls mit basedb: Header Authorization: Bearer <jeton>, JSON hin und zurück, Paginierung über meta.next_cursor, übergeben als after ({{ $response.body.meta.next_cursor }}), und Wiederaufnahme nach einem Ausfall über einen Filter auf _updated_at und über …/<table>/deleted?since=.

basedb ist freie Software von Eodia, einem KI-nativen Softwarestudio.