Skip to main content
Stai visualizzando la documentazione per sviluppatori
Questa documentazione è per sviluppatori che lavorano con la piattaforma di sviluppo Base44. Per informazioni sulle automazioni nell’editor di app, consulta Creare automazioni per la tua app.
Le automazioni consentono alle funzioni backend di essere eseguite automaticamente in base a una pianificazione, in risposta a eventi del database o quando un’integrazione connessa invia un evento webhook. Usa le automazioni per elaborare dati a intervalli regolari, gestire modifiche alle entità, reagire a eventi di servizi esterni o eseguire attività una tantum in momenti specifici. Ogni funzione backend può avere più automazioni associate, configurate nel file function.jsonc della funzione. Se hai solo un file entry.ts o entry.js, dovrai aggiungere questo file di configurazione per usare le automazioni. Le automazioni vengono distribuite atomicamente con il codice della funzione quando esegui deploy o functions deploy.

Tipi di automazione

Base44 supporta 4 tipi di automazioni:

Campi comuni

Campi comuni per tutte le automazioni

Tutti i tipi di automazione condividono i seguenti campi:

Campi comuni per le automazioni pianificate

Sia le automazioni pianificate cron sia quelle semplici condividono questi campi aggiuntivi:

Configurazione dell’automazione

Configura le automazioni nel tuo file function.jsonc usando uno degli approcci seguenti. Tutte le automazioni usano i campi comuni per tutte le automazioni elencati sopra, più i campi specifici di ciascun tipo.

Cron

Usa i campi comuni per tutte le automazioni e i campi comuni per le automazioni pianificate insieme ai campi specifici cron elencati qui. Imposta type su "scheduled" e schedule_type su "cron" per usare espressioni cron con un controllo preciso della pianificazione. Le automazioni cron usano la sintassi standard a 5 campi: minute hour day-of-month month day-of-week. Consulta crontab.guru per un editor interattivo di espressioni cron e un riferimento della sintassi.

Esempio cron

Questo esempio esegue una funzione ogni giorno a mezzanotte UTC:

Pianificazione semplice

Usa i campi comuni per tutte le automazioni e i campi comuni per le automazioni pianificate insieme ai campi di pianificazione semplice elencati qui. Imposta type su "scheduled" e schedule_type su "simple" per esigenze di pianificazione più immediate. Configura attività ricorrenti per intervallo come minuti, ore, giorni, settimane o mesi senza scrivere espressioni cron.

Esempi di pianificazione semplice

I seguenti esempi mostrano diversi modi per pianificare automazioni con pianificazioni semplici:

Eventi delle entità

Usa i campi comuni per tutte le automazioni insieme ai campi degli eventi delle entità elencati qui. Imposta type su "entity" per attivare funzioni automaticamente quando i record del database vengono creati, aggiornati o eliminati. Le automazioni delle entità possono ascoltare 1 o più tipi di eventi su una specifica entità.

Esempi di eventi delle entità

I seguenti esempi mostrano come attivare funzioni in base agli eventi delle entità:

Automazioni connettore

Usa i campi comuni per tutte le automazioni insieme ai campi specifici del connettore elencati qui. Imposta type su "connector" per attivare funzioni quando un’integrazione connessa invia un evento webhook. Usa queste per reagire in tempo reale all’attività di servizi esterni. Ad esempio, puoi analizzare una nuova email, sincronizzare una modifica del calendario o rispondere a un aggiornamento di file in Google Drive. Puoi opzionalmente aggiungere condizioni di trigger per filtrare gli eventi in modo che la tua funzione venga eseguita solo quando il payload corrisponde alle regole che definisci. Quando un’automazione connettore si attiva, la tua funzione riceve un payload webhook strutturato che contiene il tipo di evento, i dettagli dell’integrazione e i dati grezzi dal servizio esterno.
Il connettore deve essere configurato nel tuo progetto e autorizzato prima della distribuzione. Consulta Connettori condivisi per le istruzioni di configurazione.

Integrazioni ed eventi supportati

L’evento mailbox di Gmail si attiva per qualsiasi modifica della casella di posta, non solo per nuovi messaggi. Per eseguire la tua funzione solo quando arrivano nuove email, aggiungi una condizione di trigger: { "field": "has_new_messages", "operator": "equals", "value": true }.
Le automazioni dei connettori Slack (slack) e Slack Bot (slackbot) richiedono condizioni di trigger. La distribuzione fallirà se non sono impostate condizioni per queste automazioni connettore.

Formati resource ID

Il valore atteso per resource_id varia in base al connettore:
  • Google Drive: l’ID del file. Richiesto per gli eventi con ambito di file (file, file.update, file.trash, file.untrash, file.delete).
  • Gmail: un elenco separato da virgole di ID di etichette da monitorare. Valore predefinito "INBOX" se omesso.
  • Microsoft Teams: {teamId}/{channelId} per monitorare un canale specifico, o {chatId} per monitorare una chat specifica.
  • SharePoint: {siteId}/{listId} per monitorare un elenco specifico.

Condizioni di trigger

Usa trigger_conditions per filtrare gli eventi webhook in modo che la tua funzione venga eseguita solo quando il payload corrisponde alle regole che definisci. Se non sono impostate condizioni, la funzione viene eseguita per ogni evento in arrivo. Consulta Esempi di automazioni connettore per configurazioni complete.
string
Come combinare le condizioni. Valori possibili: "and" (tutti devono corrispondere), "or" (almeno uno deve corrispondere). Valore predefinito "and".
array
obbligatorio
Uno o più oggetti condizione o gruppi di condizioni annidati. Massimo 20 condizioni foglia e 5 livelli di annidamento.

Payload webhook

Quando un’automazione connettore attiva la tua funzione, il corpo della richiesta contiene un oggetto payload con la seguente struttura. Consulta Esempi di automazioni connettore per una funzione che legge il payload.

Esempi di automazioni connettore

Argomenti della funzione

Passa dati alla tua funzione quando viene attivata includendo il campo function_args nella configurazione della tua automazione. Questo è utile quando una funzione gestisce più automazioni con comportamenti diversi, come una funzione di sincronizzazione che viene eseguita in modo incrementale ogni 15 minuti ma esegue una sincronizzazione completa quotidianamente. Accedi a questi argomenti nel codice della tua funzione tramite il corpo della richiesta.

Esempio di argomenti della funzione

Questo esempio mostra una funzione che gestisce sia la modalità di sincronizzazione incrementale sia quella completa in base alla configurazione dell’automazione:

Distribuisci le automazioni

Distribuisci le funzioni backend con le loro automazioni usando il comando CLI functions deploy o il comando unificato deploy. Puoi distribuire funzioni specifiche per nome con functions deploy <names...>. La distribuzione è atomica per funzione. Una funzione è considerata distribuita solo se sia la distribuzione Deno sia tutte le sue automazioni hanno successo. Se un’automazione non viene distribuita, l’intera distribuzione della funzione viene ripristinata. Dopo la distribuzione, la CLI mostra lo stato per funzione: distribuita, invariata o errore.

Gestire le automazioni nella dashboard

Qualsiasi modifica effettuata nella dashboard verrà sovrascritta la prossima volta che esegui functions deploy. Non esiste una sincronizzazione bidirezionale tra la dashboard e i tuoi file locali. Le automazioni definite nei tuoi file function.jsonc locali sono la fonte di verità.Se vuoi apportare modifiche alle tue automazioni, aggiorna i tuoi file function.jsonc locali e ridistribuisci. Usa la dashboard per monitorare i log di esecuzione e attivare manualmente le automazioni quando necessario.
Visualizza e gestisci le tue automazioni nella dashboard Base44 nella scheda Automations. Dalla dashboard, puoi:
  • Visualizzare log di esecuzione e cronologia
  • Eseguire manualmente le automazioni per i test
  • Monitorare lo stato dell’automazione

Vedi anche

Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.