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à.
Risolvi i problemi relativi agli stati AWS Step Functions utilizzando Amazon Bedrock
Creato da Aniket Kurzadkar (AWS) e Sangam Kushwaha (AWS)
Riepilogo
AWS Step Functions le funzionalità di gestione degli errori possono aiutarti a individuare un errore che si verifica durante uno stato di un flusso di lavoro, ma individuare la causa principale di un errore ed eseguirne il debug può comunque essere difficile. Questo modello affronta questa sfida e mostra come Amazon Bedrock può aiutarti a risolvere gli errori che si verificano durante gli stati di Step Functions.
Step Functions fornisce l'orchestrazione del flusso di lavoro, semplificando l'automazione dei processi per gli sviluppatori. Step Functions fornisce anche funzionalità di gestione degli errori che offrono i seguenti vantaggi:
Gli sviluppatori possono creare applicazioni più resilienti che non falliscono completamente quando qualcosa va storto.
I flussi di lavoro possono includere la logica condizionale per gestire diversi tipi di errori in modo diverso.
Il sistema può riprovare automaticamente le operazioni non riuscite, magari con un backoff esponenziale.
È possibile definire percorsi di esecuzione alternativi per gli scenari di errore, consentendo al flusso di lavoro di adattarsi e continuare l'elaborazione.
Quando si verifica un errore in un flusso di lavoro Step Functions, questo modello mostra come inviare il messaggio di errore e il contesto a un modello base (FM) come Claude 3 supportato da Step Functions. L'FM può analizzare l'errore, classificarlo e suggerire potenziali passaggi di correzione.
Prerequisiti e limitazioni
Prerequisiti
Un attivo Account AWS
Conoscenza di base AWS Step Functions e flussi di lavoro
Connettività dell'API Amazon Bedrock
Limitazioni
Puoi utilizzare l'approccio di questo modello per vari Servizi AWS scopi. Tuttavia, i risultati potrebbero variare in base al prompt creato e successivamente valutato da AWS Lambda Amazon Bedrock.
Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità regionale, consulta i servizi AWS per regione
. Per endpoint specifici, consulta Endpoints and quotas del servizio e scegli il link relativo al servizio.
Architettura
Il diagramma seguente mostra i componenti del flusso di lavoro e dell'architettura per questo modello.

Il diagramma mostra il flusso di lavoro automatizzato per la gestione e la notifica degli errori in una macchina a stati Step Functions:
Lo sviluppatore avvia l'esecuzione di una macchina a stati.
La macchina a stati Step Functions inizia a elaborare i suoi stati. I risultati possibili sono due:
(a) Se tutti gli stati vengono eseguiti correttamente, il flusso di lavoro passa direttamente ad Amazon SNS per una notifica di successo via e-mail.
(b) Se uno stato fallisce, il flusso di lavoro passa alla funzione Lambda per la gestione degli errori.
In caso di errore, si verifica quanto segue:
(a) Viene attivata la funzione Lambda (gestore degli errori). La funzione Lambda estrae il messaggio di errore dai dati dell'evento che la macchina a stati Step Functions le ha passato. Quindi la funzione Lambda prepara un prompt basato su questo messaggio di errore e lo invia ad Amazon Bedrock. Il prompt richiede soluzioni e suggerimenti relativi all'errore specifico riscontrato.
(b) Amazon Bedrock, che ospita il modello di intelligenza artificiale generativa, elabora la richiesta di input. (Questo modello utilizza il modello di base Anthropic Claude 3 (FM), uno dei tanti supportati da FMs Amazon Bedrock.) Il modello di intelligenza artificiale analizza il contesto dell'errore. Quindi il modello genera una risposta che può includere spiegazioni del motivo per cui si è verificato l'errore, potenziali soluzioni per risolverlo e suggerimenti per evitare di ripetere gli stessi errori in futuro.
Amazon Bedrock restituisce la risposta generata dall'intelligenza artificiale alla funzione Lambda. La funzione Lambda elabora la risposta, potenzialmente formattandola o estraendo informazioni chiave. Quindi la funzione Lambda invia la risposta all'output della macchina a stati.
Dopo la gestione degli errori o l'esecuzione corretta, il flusso di lavoro si conclude attivando Amazon SNS per l'invio di una notifica e-mail.
Strumenti
Servizi AWS
Amazon Bedrock è un servizio completamente gestito che rende disponibili per l'uso modelli di base ad alte prestazioni (FMs) delle principali startup di intelligenza artificiale e di Amazon tramite un'API unificata.
AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.
Amazon Simple Notification Service (Amazon SNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.
AWS Step Functionsè un servizio di orchestrazione senza server che ti aiuta a combinare AWS Lambda funzioni e altro per creare applicazioni aziendali critiche. Servizi AWS
Best practice
Poiché Amazon Bedrock è un modello di intelligenza artificiale generativo che apprende dai dati addestrati, utilizza tali dati anche per addestrare e generare contesto. Come best practice, nascondi tutte le informazioni private che potrebbero causare problemi di fuga di dati.
Sebbene l'intelligenza artificiale generativa possa fornire informazioni preziose, le decisioni critiche relative alla gestione degli errori dovrebbero comunque coinvolgere la supervisione umana, specialmente negli ambienti di produzione.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea una macchina a stati. | Per creare una macchina a stati adatta al tuo flusso di lavoro, procedi come segue:
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Creazione di una funzione Lambda. | Per creare una funzione Lambda, procedi come segue:
| AWS DevOps |
Imposta la logica richiesta nel codice Lambda. |
| AWS DevOps |
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura Lambda per gestire gli errori in Step Functions. | Per configurare Step Functions in modo da gestire gli errori senza interrompere il flusso di lavoro, procedi come segue:
| AWS DevOps |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
Lambda non può accedere all'API Amazon Bedrock (non autorizzata a eseguire) | Questo errore si verifica quando il ruolo Lambda non dispone dell'autorizzazione per accedere all'API Amazon Bedrock. Per risolvere questo problema, aggiungi la |
Errore di timeout Lambda | A volte possono essere necessari più di 30 secondi per generare una risposta e inviarla indietro, a seconda della richiesta. Per risolvere questo problema, aumenta il tempo di configurazione. Per ulteriori informazioni, consulta Configura il timeout della funzione Lambda nella Guida per gli AWS Lambda sviluppatori. |