View a markdown version of this page

Funzioni durevoli Lambda - AWS Lambda

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à.

Funzioni durevoli Lambda

Con funzioni AWS Lambda durevoli, puoi creare applicazioni resilienti in più fasi e flussi di lavoro AI che possono essere eseguiti per un massimo di un anno, mantenendo progressi affidabili nonostante le interruzioni. Quando viene eseguita una funzione duratura, questo ciclo di vita completo è chiamato esecuzione durevole, che utilizza dei checkpoint per tenere traccia dei progressi e ripristinare automaticamente gli errori tramite la ripetizione, rieseguendola dall'inizio saltando il lavoro completato.

All'interno di ogni funzione, si utilizzano operazioni durature come elementi costitutivi fondamentali. Le fasi eseguono la logica aziendale con tentativi e monitoraggio dei progressi integrati, mentre le attese sospendono l'esecuzione senza incorrere in costi di elaborazione, il che le rende ideali per processi di lunga durata come i flussi di lavoro umani o il polling delle dipendenze esterne. Che tu stia elaborando ordini, coordinando microservizi o orchestrando applicazioni AI agentiche, le funzioni durevoli mantengono automaticamente lo stato e si ripristinano dagli errori mentre scrivi codice in linguaggi di programmazione familiari.

Nota

Questa guida tratta argomenti relativi ai servizi Lambda come distribuzione, configurazione, autorizzazioni, invocazione, monitoraggio e quote. Per riferimenti alla programmazione SDK, tutorial di avvio rapido e guide specifiche per lingua, consulta la Durable Execution SDK Developer Guide. AWS

Vantaggi principali

Scrivi codice resiliente in modo naturale: con costrutti di programmazione familiari, scrivi codice che gestisce automaticamente gli errori. Built-in grazie al checkpoint, ai tentativi trasparenti e al ripristino automatico, la logica aziendale rimane pulita e concentrata.

Pagate solo per ciò che utilizzate: durante le operazioni di attesa, la funzione viene sospesa senza incorrere in costi di elaborazione. Per i flussi di lavoro di lunga durata che attendono ore o giorni, paghi solo per il tempo di elaborazione effettivo, non per le attese inattive.

Semplicità operativa: con il modello serverless di Lambda, è possibile ottenere una scalabilità automatica, inclusa la scalabilità a zero, senza dover gestire l'infrastruttura. Le funzioni durevoli gestiscono automaticamente la gestione dello stato, la logica dei tentativi e il ripristino dei guasti, riducendo il sovraccarico operativo.

Quando utilizzare le funzioni durevoli

Short-lived coordinamento: coordina i pagamenti, l'inventario e la spedizione tra più servizi con il rollback automatico in caso di guasti. Elabora gli ordini tramite convalida, autorizzazione al pagamento, allocazione dell'inventario ed evasione degli ordini con completamento garantito.

Elabora i pagamenti con sicurezza: crea flussi di pagamento resilienti che mantengono lo stato delle transazioni in caso di errori e gestiscono automaticamente i nuovi tentativi. Coordina l'autorizzazione in più fasi, i controlli antifrode e il regolamento tra i fornitori di servizi di pagamento con una completa verificabilità in tutte le fasi.

Crea flussi di lavoro IA affidabili: crea flussi di lavoro di intelligenza artificiale in più fasi che concatenano le chiamate di modelli, incorporano il feedback umano e gestiscono le attività di lunga durata in modo deterministico durante gli errori. Riprendi automaticamente dopo la sospensione e paga solo per il tempo di esecuzione attivo.

Orchestra l'evasione complessa degli ordini: coordina l'elaborazione degli ordini nei sistemi di inventario, pagamento, spedizione e notifica con resilienza integrata. Gestisci automaticamente gli errori parziali, preserva lo stato degli ordini nonostante le interruzioni e attendi in modo efficiente gli eventi esterni senza consumare risorse di calcolo.

Automatizza i flussi di lavoro aziendali in più fasi: crea flussi di lavoro affidabili per l'onboarding dei dipendenti, l'approvazione dei prestiti e i processi di conformità che durano giorni o settimane. Mantieni lo stato del flusso di lavoro attraverso le approvazioni umane, le integrazioni di sistema e le attività pianificate, fornendo al contempo una visibilità completa sullo stato e sulla cronologia dei processi.

In che modo le funzioni durature si confrontano con Step Functions

Sia le funzioni durevoli che le Step Functions forniscono l'orchestrazione del flusso di lavoro con una gestione automatica dello stato. Le principali differenze sono il luogo in cui vengono eseguiti e il modo in cui si definiscono i flussi di lavoro:

  • Funzioni durevoli: eseguite all'interno di Lambda, utilizzano linguaggi di programmazione standard, gestite all'interno dell'ambiente Lambda

  • Step Functions: servizio autonomo, DSL o visual designer basato su grafici, completamente gestito senza manutenzione

Le funzioni durevoli sono ideali per lo sviluppo di applicazioni in Lambda, dove i flussi di lavoro sono strettamente associati alla logica aziendale. Step Functions eccelle nell'orchestrazione del flusso di lavoro tra AWS servizi in cui è necessaria una progettazione visiva, integrazioni native con oltre 220 servizi e un'infrastruttura a manutenzione zero.

Per un confronto dettagliato, consulta Durable functions o Step Functions. Funzioni durevoli o Step Functions

Come funziona

Sotto il cofano, le funzioni durevoli sono normali funzioni Lambda che utilizzano un checkpoint/replay meccanismo per tracciare i progressi e supportare operazioni di lunga durata attraverso punti di sospensione definiti dall'utente, comunemente denominati esecuzione duratura. Dopo la ripresa della funzione dopo una pausa o un'interruzione, il sistema esegue la riproduzione. Durante la riproduzione, il codice viene eseguito dall'inizio ma salta i checkpoint completati, utilizzando i risultati memorizzati invece di rieseguire le operazioni completate. Questo meccanismo di ripetizione garantisce la coerenza e consente esecuzioni di lunga durata.

Per sfruttare questo meccanismo di checkpoint e replay nelle tue applicazioni, Lambda fornisce un SDK di esecuzione durevole. L'SDK elimina la complessità della gestione dei checkpoint e della riproduzione, esponendo semplici primitive chiamate operazioni durevoli che utilizzi nel codice. L'SDK è disponibile per Python e Java e si JavaScript integra TypeScript perfettamente con il flusso di lavoro di sviluppo Lambda esistente.

Con l'SDK, puoi incorporare il tuo gestore di eventi Lambda, che a sua volta fornisce un supporto all'evento. DurableContext Questo contesto consente di accedere a operazioni durature come passaggi e attese. La logica delle funzioni viene scritta come un normale codice sequenziale, ma invece di chiamare direttamente i servizi, si raggruppano le chiamate in fasi che consentono il checkpoint e i tentativi automatici. Quando è necessario sospendere l'esecuzione, si aggiungono delle attese che sospendono la funzione senza incorrere in addebiti. L'SDK gestisce tutta la complessità della gestione dello stato e della riproduzione dietro le quinte, in modo che il codice rimanga pulito e leggibile.

Diagram showing how Lambda durable functions use checkpoints to persist progress and replay to resume after interruptions.

Fasi successive