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à.
Questo progetto di esempio dimostra come integrare AWS Lambda le funzioni nelle macchine a stati Step Functions.
In questo progetto, il flusso di lavoro Step Functions utilizza le funzioni Lambda per controllare il prezzo di un'azione e determinare una raccomandazione di acquisto o vendita. All'utente viene quindi fornita questa raccomandazione e può scegliere se acquistare o vendere il titolo. Il risultato dello scambio viene restituito utilizzando un argomento SNS.
La macchina a stati di questo progetto di esempio si integra AWS Lambda passando i parametri direttamente alle AWS risorse distribuite dal progetto. Le risorse del progetto includono una coda Amazon SQS per gestire la richiesta di approvazione umana e un argomento Amazon SNS per restituire i risultati della query.
Un'esecuzione di Step Functions riceve un testo JSON come input e lo passa al primo stato del flusso di lavoro. I singoli stati ricevono i dati JSON come input e in genere passano i dati JSON come output allo stato successivo. In questo progetto di esempio, l'output di ogni passaggio viene passato come input alla fase successiva del flusso di lavoro.
Per implementare una fase di approvazione umana, in genere si sospende l'esecuzione del flusso di lavoro fino alla restituzione di un token di attività. In questo progetto, il flusso di lavoro passa un messaggio a una coda Amazon SQS. Il messaggio contiene un token di attività e l'output restituito dal passaggio precedente. Questo messaggio attiva una funzione Lambda definita per gestire la funzionalità di callback. La funzione Lambda viene richiamata con il payload del messaggio. L'esecuzione del flusso di lavoro viene sospesa fino a quando non riceve il token dell'attività da una chiamata API. SendTaskSuccess
Per ulteriori informazioni sui task token, consulta. Attendi una richiamata con Task Token
Per ulteriori informazioni sulle integrazioni dei servizi Step Functions, vedereIntegrazione dei servizi con Step Functions.
Per ulteriori informazioni sulle politiche IAM per Lambda, Amazon SQS e Amazon SNS, consulta le seguenti guide:
Nota
-
Questo progetto di esempio potrebbe comportare costi.
-
Per i nuovi AWS utenti, è disponibile un livello di utilizzo gratuito. Questo livello offre servizi gratuiti al di sotto di un determinato livello di utilizzo. Per ulteriori informazioni sui AWS costi e sul piano gratuito, consulta la sezione Prezzi
.
Fase 1: Creare la macchina a stati
-
Apri la console Step Functions
e scegli Crea macchina a stati. -
Trova e scegli il modello iniziale con cui vuoi lavorare. Seleziona Successivo per continuare.
-
Scegli Esegui una demo per creare un ready-to-deploy flusso di lavoro di sola lettura o scegli Crea su di esso per creare una definizione di macchina a stati modificabile da utilizzare e distribuire in un secondo momento.
-
Scegli Usa modello per continuare con la selezione.
I passaggi successivi dipendono dalla scelta precedente:
-
Esegui una demo: puoi esaminare la macchina a stati prima di creare un progetto di sola lettura con risorse distribuite da AWS CloudFormation te. Account AWS
Puoi visualizzare la definizione della macchina a stati e, quando sei pronto, scegli Distribuisci ed esegui per distribuire il progetto e creare le risorse.
La creazione di risorse e autorizzazioni può richiedere fino a 10 minuti per la distribuzione. Puoi utilizzare il link Stack ID per monitorare i progressi in. AWS CloudFormation
Una volta completata la distribuzione, dovresti vedere la tua nuova macchina a stati nella console.
-
Sviluppala: puoi rivedere e modificare la definizione del flusso di lavoro. Potrebbe essere necessario impostare i valori per i segnaposto nel progetto di esempio prima di provare a eseguire il flusso di lavoro personalizzato.
Nota
Potrebbero essere applicati costi standard per i servizi distribuiti sul tuo account.
Passaggio 2: Esegui la macchina a stati
Nella pagina Macchine a stati, scegli il tuo progetto di esempio.
Nella pagina del progetto di esempio, scegli Avvia esecuzione.
Nella finestra di dialogo Avvia esecuzione, effettuate le seguenti operazioni:
-
(Facoltativo) Immettete un nome di esecuzione personalizzato per sovrascrivere il valore predefinito generato.
Nomi e log non ASCII
Step Functions accetta nomi per macchine a stati, esecuzioni, attività ed etichette che contengono caratteri non ASCII. Poiché tali caratteri non funzionano con Amazon CloudWatch, ti consigliamo di utilizzare solo caratteri ASCII per tenere traccia delle metriche. CloudWatch
-
(Facoltativo) Nella casella Input, inserisci i valori di input come JSON. Puoi saltare questo passaggio se stai eseguendo una demo.
-
Selezionare Start execution (Avvia esecuzione).
La console Step Functions ti indirizzerà a una pagina dei dettagli di esecuzione in cui puoi scegliere gli stati nella vista Graph per esplorare le informazioni correlate nel Dettagli del passaggio riquadro.
-
Complimenti!
Ora dovresti avere una demo in esecuzione o una definizione di macchina a stati che puoi personalizzare.