function.jsonc-Datei der Funktion konfiguriert sind. Wenn du nur eine entry.ts- oder entry.js-Datei hast, musst du diese Konfigurationsdatei hinzufügen, um Automationen zu verwenden. Automationen werden atomar mit dem Funktionscode deployed, wenn du deploy oder functions deploy ausführst.
Automationstypen
Base44 unterstützt 4 Arten von Automationen:- Geplante Automationen mit Cron: Verwende Cron-Ausdrücke für präzise Zeitplansteuerung.
- Geplante Automationen mit einfachen Schedules: Konfiguriere wiederkehrende Aufgaben nach Intervall ohne Cron-Ausdrücke.
- Entity-Ereignis-Automationen: Löse Funktionen aus, wenn Datenbankdatensätze erstellt, aktualisiert oder gelöscht werden.
- Connector-Automationen: Reagiere in Echtzeit auf Ereignisse verbundener Dienste, etwa eine neue E-Mail in Gmail oder eine Dateiänderung in Google Drive.
Gemeinsame Felder
Gemeinsame Felder für alle Automationen
Alle Automationstypen teilen die folgenden Felder:Gemeinsame Felder für geplante Automationen
Sowohl Cron- als auch einfache geplante Automationen teilen diese zusätzlichen Felder:Automationskonfiguration
Konfiguriere Automationen in deinerfunction.jsonc-Datei mit einem der folgenden Ansätze. Alle Automationen verwenden die oben aufgeführten gemeinsamen Felder für alle Automationen sowie die für jeden Typ spezifischen Felder.
Cron
Verwende gemeinsame Felder für alle Automationen und gemeinsame Felder für geplante Automationen zusammen mit den hier aufgeführten cron-spezifischen Feldern. Setzetype auf "scheduled" und schedule_type auf "cron", um Cron-Ausdrücke für präzise Zeitplansteuerung zu verwenden.
Cron-Automationen verwenden die standardmäßige 5-Feld-Syntax: minute hour day-of-month month day-of-week. Siehe crontab.guru für einen interaktiven Cron-Ausdruck-Editor und eine Syntaxreferenz.
Cron-Beispiel
Dieses Beispiel führt eine Funktion täglich um Mitternacht UTC aus:Einfacher Schedule
Verwende gemeinsame Felder für alle Automationen und gemeinsame Felder für geplante Automationen zusammen mit den hier aufgeführten Feldern für einfache Schedules. Setzetype auf "scheduled" und schedule_type auf "simple" für unkomplizierte Zeitplanbedürfnisse.
Konfiguriere wiederkehrende Aufgaben nach Intervall wie Minuten, Stunden, Tagen, Wochen oder Monaten, ohne Cron-Ausdrücke zu schreiben.
Beispiele für einfache Schedules
Die folgenden Beispiele zeigen verschiedene Möglichkeiten, Automationen mit einfachen Schedules zu planen:Entity-Ereignisse
Verwende gemeinsame Felder für alle Automationen zusammen mit den hier aufgeführten Entity-Ereignis-Feldern. Setzetype auf "entity", um Funktionen automatisch auszulösen, wenn Datenbankdatensätze erstellt, aktualisiert oder gelöscht werden.
Entity-Automationen können auf 1 oder mehrere Ereignistypen einer bestimmten Entität reagieren.
Beispiele für Entity-Ereignisse
Die folgenden Beispiele zeigen, wie Funktionen basierend auf Entity-Ereignissen ausgelöst werden:Connector-Automationen
Verwende gemeinsame Felder für alle Automationen zusammen mit den hier aufgeführten connectorspezifischen Feldern. Setzetype auf "connector", um Funktionen auszulösen, wenn eine verbundene Integration ein Webhook-Ereignis sendet. Damit kannst du in Echtzeit auf Aktivitäten externer Dienste reagieren. Du kannst zum Beispiel eine neue E-Mail parsen, eine Kalenderänderung synchronisieren oder auf ein Datei-Update in Google Drive reagieren.
Du kannst optional Trigger-Bedingungen hinzufügen, um Ereignisse zu filtern, sodass deine Funktion nur ausgeführt wird, wenn der Payload zu den von dir definierten Regeln passt.
Wenn eine Connector-Automation ausgelöst wird, erhält deine Funktion eine strukturierte Webhook-Payload mit dem Ereignistyp, Integrationsdetails und den Rohdaten des externen Dienstes.
Der Connector muss in deinem Projekt konfiguriert und vor dem Deployment autorisiert sein. Siehe Shared Connectors für Einrichtungsanweisungen.
Unterstützte Integrationen und Ereignisse
Slack-Connector-Automationen erfordern Trigger-Bedingungen. Das Deployment schlägt fehl, wenn keine Bedingungen für Slack-Connector-Automationen gesetzt sind.
Resource-ID-Formate
Der erwartete Wert fürresource_id variiert je nach Connector:
- Google Drive: Die Datei-ID. Erforderlich für datei-spezifische Ereignisse (
file,file.update,file.trash,file.untrash,file.delete). - Gmail: Eine kommagetrennte Liste von Label-IDs, die beobachtet werden sollen. Standardwert ist
"INBOX", wenn weggelassen. - Microsoft Teams:
{teamId}/{channelId}, um einen bestimmten Kanal zu überwachen, oder{chatId}, um einen bestimmten Chat zu überwachen. - SharePoint:
{siteId}/{listId}, um eine bestimmte Liste zu überwachen.
Trigger-Bedingungen
Verwendetrigger_conditions, um Webhook-Ereignisse zu filtern, sodass deine Funktion nur ausgeführt wird, wenn der Payload zu den von dir definierten Regeln passt. Wenn keine Bedingungen gesetzt sind, wird die Funktion für jedes eingehende Ereignis ausgeführt. Siehe Beispiele für Connector-Automationen für vollständige Konfigurationen.
string
Wie die Bedingungen kombiniert werden. Mögliche Werte:
"and" (alle müssen passen), "or" (mindestens eine muss passen). Standardwert ist "and".array
erforderlich
Ein oder mehrere Bedingungsobjekte oder verschachtelte Bedingungsgruppen. Maximal 20 Blattbedingungen und 5 Verschachtelungsebenen.
Webhook-Payload
Wenn eine Connector-Automation deine Funktion auslöst, enthält der Request-Body einpayload-Objekt mit der folgenden Struktur. Siehe Beispiele für Connector-Automationen für eine Funktion, die die Payload liest.
Beispiele für Connector-Automationen
Funktionsargumente
Übergib Daten an deine Funktion, wenn sie ausgelöst wird, indem du das Feldfunction_args in deine Automationskonfiguration einbeziehst. Das ist nützlich, wenn eine Funktion mehrere Automationen mit unterschiedlichem Verhalten verarbeitet, etwa eine Sync-Funktion, die alle 15 Minuten inkrementell läuft, aber täglich einen vollen Sync durchführt.
Greife in deinem Funktionscode über den Request-Body auf diese Argumente zu.
Beispiel für Funktionsargumente
Dieses Beispiel zeigt eine Funktion, die basierend auf der Automationskonfiguration sowohl inkrementelle als auch vollständige Sync-Modi behandelt:Automationen deployen
Deploye Backend-Funktionen mit ihren Automationen mit dem CLI-Befehlfunctions deploy oder dem vereinheitlichten Befehl deploy. Du kannst bestimmte Funktionen nach Namen mit functions deploy <names...> deployen.
Das Deployment ist pro Funktion atomar. Eine Funktion gilt nur dann als deployed, wenn sowohl das Deno-Deployment als auch alle ihre Automationen erfolgreich sind. Wenn eine Automation nicht deployed werden kann, wird das gesamte Funktions-Deployment zurückgerollt.
Nach dem Deployment zeigt die CLI den Status pro Funktion: deployed, unchanged oder error.
Automationen im Dashboard verwalten
Sieh dir deine Automationen im Base44-Dashboard unter dem Tab Automations an und verwalte sie. Im Dashboard kannst du:- Ausführungslogs und Historie ansehen
- Automationen manuell zum Testen ausführen
- Automationsstatus überwachen
Siehe auch
- Backend-Funktionen: Erfahre mehr über Backend-Funktionen
functions deploy: Funktionen mit Automationen deployendeploy: Alle Ressourcen auf einmal deployenlogs: Funktionslogs ansehen
Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die englische Version.