Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Gestione dei flussi di lavoro e degli eventi Lambda
Quando crei applicazioni serverless con Lambda, spesso hai bisogno di modi per orchestrare l'esecuzione delle funzioni e gestire gli eventi. AWS fornisce diversi approcci per coordinare le funzioni Lambda:
-
Funzioni Lambda durable per l'orchestrazione del flusso di lavoro basata sul codice all'interno di Lambda
-
AWS Step Functions per l'orchestrazione visiva del flusso di lavoro su più servizi
-
Amazon EventBridge Scheduler e Amazon EventBridge per architetture e pianificazione basate sugli eventi
Puoi anche integrare questi approcci insieme. Ad esempio, è possibile utilizzare EventBridge Scheduler per attivare funzioni durevoli o flussi di lavoro Step Functions quando si verificano eventi specifici o configurare i flussi di lavoro per pubblicare eventi su EventBridge Scheduler in punti di esecuzione definiti. I seguenti argomenti di questa sezione forniscono ulteriori informazioni su come utilizzare queste opzioni di orchestrazione.
Code-first orchestrazione con funzioni durevoli
Le funzioni Lambda durable forniscono un approccio basato sul codice all'orchestrazione del flusso di lavoro, consentendoti di creare flussi di lavoro statici e di lunga durata direttamente all'interno delle tue funzioni Lambda. A differenza dei servizi di orchestrazione esterni, le funzioni durevoli mantengono la logica del flusso di lavoro in codice, semplificando la versione, il test e la manutenzione insieme alla logica aziendale.
Le funzioni durevoli sono ideali quando hai bisogno di:
-
Usa linguaggi di programmazione standard: definisci i flussi di lavoro utilizzando linguaggi di programmazione familiari come JavaScript Python
-
Long-running processi: esegui flussi di lavoro che possono durare fino a un anno, ben oltre il limite di 15 minuti delle funzioni Lambda standard
-
Sviluppo semplificato: mantieni la logica del flusso di lavoro e la logica aziendale nella stessa base di codice per facilitare la manutenzione e il test
-
Cost-effective attesa: sospende l'esecuzione durante gli stati di attesa senza consumare risorse di calcolo
-
Built-in gestione dello stato: checkpoint automatico e persistenza dello stato senza configurazione di archiviazione esterna
Per informazioni sulla scelta tra funzioni durevoli e Funzioni Step, vedere Funzioni durevoli o Funzioni Step.
Per ulteriori informazioni sulle funzioni durevoli, vedere Funzioni durevoli Lambda.
Orchestrazione dei flussi di lavoro con Step Functions
AWS Step Functions è un servizio di orchestrazione del flusso di lavoro che aiuta a coordinare più funzioni Lambda e altri AWS servizi in flussi di lavoro strutturati. Questi flussi di lavoro possono mantenere lo stato, gestire gli errori con sofisticati meccanismi di riprova ed elaborare i dati su larga scala.
Step Functions offre due tipi di flussi di lavoro per soddisfare diverse esigenze di orchestrazione:
- Flussi di lavoro standard
-
Ideale per flussi di lavoro verificabili e di lunga durata che richiedono una semantica di esecuzione esatta. I flussi di lavoro standard possono durare fino a un anno, fornire una cronologia dettagliata delle esecuzioni e supportare il debug visivo. Sono adatti per processi come l'evasione degli ordini, le pipeline di elaborazione dei dati o i lavori di analisi in più fasi.
- Flussi di lavoro rapidi
-
Progettato per carichi di lavoro ad alta frequenza di eventi e di breve durata con semantica di esecuzione almeno una volta. I flussi di lavoro Express possono durare fino a cinque minuti e sono ideali per l'elaborazione di eventi ad alto volume, le trasformazioni di dati in streaming o gli scenari di acquisizione di dati IoT. Offrono una maggiore produttività e costi potenzialmente inferiori rispetto ai flussi di lavoro standard.
Nota
Per ulteriori informazioni sui tipi di flusso di lavoro Step Functions, vedi Scelta del tipo di flusso di lavoro in Step Functions.
All'interno di questi flussi di lavoro, Step Functions fornisce due tipi di stati della mappa per l'elaborazione parallela:
- Mappa in linea
-
Elabora gli elementi di un array JSON all'interno della cronologia di esecuzione del flusso di lavoro principale. Inline Map supporta fino a 40 iterazioni simultanee ed è adatto per set di dati più piccoli o quando è necessario mantenere tutte le elaborazioni in un'unica esecuzione. Per ulteriori informazioni, vedere Utilizzo dello stato della mappa in modalità Inline.
- Mappa distribuita
-
Consente l'elaborazione di carichi di lavoro paralleli su larga scala iterando su set di dati che superano i 256 KiB o richiedono più di 40 iterazioni simultanee. Con il supporto per un massimo di 10.000 esecuzioni parallele di flussi di lavoro secondari, Distributed Map eccelle nell'elaborazione di dati semistrutturati archiviati in Amazon S3, come file JSON o CSV, rendendolo ideale per l'elaborazione in batch e le operazioni ETL. Per ulteriori informazioni, consulta Using Map state in modalità Distributed.
Combinando questi tipi di flusso di lavoro e gli stati delle mappe, Step Functions fornisce un set di strumenti flessibile e potente per orchestrare applicazioni serverless complesse, da operazioni su piccola scala a pipeline di elaborazione dati su larga scala.
Per iniziare a usare Lambda con Step Functions, consulta Orchestrating Lambda functions with Step Functions. Orchestrazione delle funzioni Lambda con Step Functions
Gestione degli eventi con e Scheduler EventBridge EventBridge
Amazon EventBridge è un servizio di bus per eventi che ti aiuta a creare architetture basate sugli eventi. Instrada gli eventi tra AWS servizi, applicazioni integrate e applicazioni Software as a Service (SaaS). EventBridge Scheduler è uno scheduler senza server. Con EventBridge Scheduler, puoi creare, eseguire e gestire attività da un servizio centrale, richiamare le funzioni Lambda in base a una pianificazione utilizzando espressioni cron e rate o configurare invocazioni una tantum.
Amazon EventBridge e EventBridge Scheduler ti aiutano a creare architetture basate sugli eventi con Lambda. EventBridge Instrada gli eventi tra AWS servizi, applicazioni integrate e applicazioni SaaS, mentre EventBridge Scheduler fornisce funzionalità di pianificazione specifiche per richiamare le funzioni Lambda su base ricorrente o una tantum.
Questi servizi forniscono diverse funzionalità chiave per lavorare con le funzioni Lambda:
-
Crea regole che corrispondano e indirizzino gli eventi alle funzioni Lambda utilizzando EventBridge
-
Imposta invocazioni ricorrenti di funzioni utilizzando le espressioni cron e rate con Scheduler EventBridge
-
Configura chiamate di funzioni una tantum in date e ore specifiche
-
Definisci finestre temporali flessibili e riprova le politiche per le chiamate pianificate
Per ulteriori informazioni, consulta Richiamo di una funzione Lambda su una pianificazione.