Datentabellen
Persistenter tabellarischer Speicher, den Workflows über mehrere Ausführungen hinweg lesen und beschreiben können
Datentabellen sind eine integrierte Datenbank für Workflows. Im Gegensatz zu Node-Ausgaben (die nur innerhalb einer einzelnen Ausführung existieren) bleiben Daten in einer Tabelle dauerhaft gespeichert und sind für jeden Workflow in Ihrem Workspace zugänglich.
Anwendungsfälle
- Statusverfolgung: merken, welche Elemente bereits verarbeitet wurden, Ausführungsanzahlen verfolgen, Checkpoints speichern
- Ergebnisse sammeln: pro Ausführung eine Zeile über viele Läufe hinweg sammeln, dann die angesammelten Daten abfragen
- Workflow-übergreifende Kommunikation: ein Workflow schreibt Daten, ein anderer liest sie
- Einfache Nachschlagewerke: Referenzdaten speichern (z. B. Benutzerpräferenzen, Konfigurationswerte), die Workflows zur Laufzeit nachschlagen
- Audit-Logs: jede Workflow-Aktion zur Überprüfung oder zum Export in eine Tabelle aufzeichnen
Datentabelle erstellen
- Öffnen Sie Datentabellen im Workflows-Bereich der Seitenleiste
- Klicken Sie auf Neue Tabelle
- Definieren Sie Ihre Spalten: Name, Typ (Text, Zahl, Boolean, Datum, JSON) und ob die Spalte ein Pflichtfeld ist
- Speichern Sie die Tabelle
Tabellen sind workspace-weit und können von jedem Workflow verwendet werden.
Daten lesen
Verwenden Sie die Aktion Zeilen abrufen (oder Erste Zeile finden für ein einzelnes Ergebnis):
| Eingabe | Beschreibung |
|---|---|
| Tabelle | Datentabelle auswählen |
| Filter | Optionale Bedingungen, z. B. status = "ausstehend" |
| Sortieren nach | Spalte, nach der Ergebnisse sortiert werden |
| Sortierrichtung | Aufsteigend oder absteigend |
| Limit | Maximale Anzahl zurückzugebender Zeilen |
Ausgaben von „Zeilen abrufen":
| Ausgabe | Typ | Beschreibung |
|---|---|---|
rows | array | Übereinstimmende Zeilen als Objekte |
rowCount | number | Anzahl der zurückgegebenen Zeilen |
Ausgaben von „Erste Zeile finden":
| Ausgabe | Typ | Beschreibung |
|---|---|---|
row | object | Die erste übereinstimmende Zeile oder null, wenn keine gefunden |
found | boolean | Ob eine übereinstimmende Zeile gefunden wurde |
Daten schreiben
Zeile einfügen
Neue Zeile zur Tabelle hinzufügen.
| Eingabe | Beschreibung |
|---|---|
| Tabelle | Datentabelle auswählen |
| Zeilendaten | Schlüssel-Wert-Paare, die Spaltennamen auf Werte abbilden |
Ausgaben: rowId (die ID der neuen Zeile), row (die vollständig eingefügte Zeile)
Zeile upserten
Neue Zeile einfügen oder eine vorhandene aktualisieren, wenn eine Übereinstimmung gefunden wird. Nützlich für „Erstellen oder Aktualisieren"-Muster, ohne vorherige Abfrage.
| Eingabe | Beschreibung |
|---|---|
| Tabelle | Datentabelle auswählen |
| Übereinstimmungsspalten | Welche Spalten als eindeutiger Schlüssel verwendet werden |
| Zeilendaten | Zu setzende Werte (sowohl für Einfügen als auch Aktualisieren) |
Zeilen aktualisieren
Alle Zeilen aktualisieren, die einem Filter entsprechen.
| Eingabe | Beschreibung |
|---|---|
| Tabelle | Datentabelle auswählen |
| Filter | Bedingungen, die bestimmen, welche Zeilen aktualisiert werden |
| Aktualisierungen | Auf übereinstimmenden Zeilen zu setzende Spaltenwerte |
Ausgabe: updatedCount, die Anzahl der geänderten Zeilen
Zeilen löschen
Alle Zeilen entfernen, die einem Filter entsprechen.
| Eingabe | Beschreibung |
|---|---|
| Tabelle | Datentabelle auswählen |
| Filter | Bedingungen, die bestimmen, welche Zeilen gelöscht werden |
Ausgabe: deletedCount, die Anzahl der entfernten Zeilen
Zeilen zählen
Zählen, wie viele Zeilen einem Filter entsprechen, ohne die Zeilen selbst zurückzugeben. Nützlich, um zu prüfen, ob eine Tabelle leer ist oder den Fortschritt zu messen.
Ausgabe: count, die Anzahl der übereinstimmenden Zeilen
Daten anzeigen und bearbeiten
Öffnen Sie jede Datentabelle aus Datentabellen in der Seitenleiste, um deren Inhalt anzuzeigen und manuell zu bearbeiten. Sie können:
- Zeilen durchsuchen, filtern und sortieren
- Zeilen manuell hinzufügen oder löschen
- Einzelne Zellenwerte inline bearbeiten
- Die Tabelle als CSV exportieren
Best Practices
Filter präzise einsetzen. Zeilen abrufen ohne Filter gibt alle Zeilen zurück. Fügen Sie ein Limit hinzu, um zu vermeiden, dass unerwartet große Datensätze in einen Workflow-Node geladen werden.
Upsert für idempotente Schreibvorgänge verwenden. Wenn ein Workflow möglicherweise mehrfach für dieselbe Eingabe ausgeführt wird (z. B. durch einen erneuten Webhook-Aufruf), verwenden Sie Upsert anstelle von Einfügen, um doppelte Zeilen zu vermeiden.
Alte Daten bereinigen. Bereinigen Sie regelmäßig verarbeitete Zeilen mit einem geplanten Workflow, der Zeilen löscht, die älter als ein bestimmtes Datum sind, um ein unbegrenztes Anwachsen der Tabellen zu verhindern.
JSON-Spalten für flexible Daten. Wenn die Form der Daten einer Zeile variiert (z. B. rohe API-Nutzlasten), verwenden Sie eine JSON-Spalte statt vieler optionaler Textspalten.