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à.
Utilizzo dello stato Inline Map per ripetere un'azione in Step Functions
Questo tutorial ti aiuta a iniziare a usare lo Map
stato in modalità Inline. Lo stato Inline Map viene utilizzato nei flussi di lavoro per eseguire ripetutamente un'azione. Per ulteriori informazioni sulla modalità Inline, consulta Map state in Inline mode.
In questo tutorial, si utilizza lo stato Inline Map per generare ripetutamente identificatori univoci universali della versione 4 (v4). UUID Si inizia creando un flusso di lavoro che contiene due Passare lo stato del workflow stati e uno stato della mappa in linea in Workflow Studio. Quindi, configurate l'input e l'output, incluso l'JSONarray di input per lo Map
stato. Lo Map
stato restituisce un array di output che contiene la v4 UUIDs generata per ogni elemento dell'array di input.
Fase 1: Creare il prototipo del flusso di lavoro
In questo passaggio, crei il prototipo per il tuo flusso di lavoro utilizzando Workflow Studio. Workflow Studio è un designer visivo di flussi di lavoro disponibile nella console Step Functions. Sceglierai gli stati richiesti dalla scheda Flow e utilizzerai la funzionalità drag and drop di Workflow Studio per creare il prototipo del flusso di lavoro.
Apri la console Step Functions
e scegli Crea macchina a stati. Nella finestra di dialogo Scegli un modello, seleziona Vuoto.
-
Scegliete Seleziona per aprire Workflow Studio inmodalità di progettazione.
Dalla scheda Flow, trascina uno stato Pass e rilascialo nello stato vuoto denominato Drag first state here.
Trascina uno stato della mappa e rilascialo sotto lo stato del Pass. Rinomina lo stato della mappa in.
Map demo
Trascina un secondo stato Pass e rilascialo all'interno dello stato demo della Mappa.
Rinomina il secondo stato Pass in.
Generate UUID
Fase 2: Configurare input e output
In questo passaggio, configuri input e output per tutti gli stati del prototipo del flusso di lavoro. Innanzitutto, inserite alcuni dati fissi nel flusso di lavoro utilizzando il primo stato Pass. Questo stato Pass trasmette questi dati come input allo stato demo della mappa. All'interno di questo input, si specifica il nodo che contiene l'array di input su cui lo stato demo della mappa deve iterare. Quindi definisci il passaggio che lo stato demo della mappa deve ripetere per generare la UUIDs v4. Infine, configuri l'output in modo che ritorni per ogni ripetizione.
Scegli il primo stato Pass nel prototipo del tuo flusso di lavoro. Nella scheda Output, inserisci quanto segue in Risultato:
{ "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
Scegli lo stato dimostrativo della mappa e nella scheda Configurazione, procedi come segue:
Scegli Fornisci un percorso all'array degli elementi.
Specificate il seguente percorso di riferimento per selezionare il nodo che contiene l'array di input:
$.colors
Scegliete lo UUID stato Genera e nella scheda Input, effettuate le seguenti operazioni:
Scegliete Trasforma input con parametri.
Inserisci il seguente JSON input per generare la v4 UUIDs per ciascuno degli elementi dell'array di input. Si utilizza la funzione
States.UUID
intrinseca per generare il. UUIDs{ "uuid.$": "States.UUID()" }
Per lo UUID stato Genera, scegliete la scheda Output ed effettuate le seguenti operazioni:
Scegliete Filtra output con OutputPath.
Immettete il seguente percorso di riferimento per selezionare il JSON nodo che contiene gli elementi dell'array di output:
$.uuid
Fase 3: Rivedere e salvare la definizione generata automaticamente
Mentre trascini gli stati dal pannello Flow sull'area di lavoro, Workflow Studio compone automaticamente la definizione Amazon States Language (ASL) del tuo flusso di lavoro in tempo reale. Puoi modificare questa definizione in base alle tue esigenze.
-
(Facoltativo) Scegli Definizione nel Pannello Inspector pannello per visualizzare la definizione del tuo flusso di lavoro generata automaticamente da Amazon States Language.
Suggerimento
Puoi anche visualizzare la ASL definizione in Workflow Studio. Editor del codice Nell'editor di codice, puoi anche modificare la ASL definizione del tuo flusso di lavoro.
L'esempio seguente mostra la definizione di Amazon States Language generata automaticamente per il tuo flusso di lavoro.
{ "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
-
Specificate un nome per la vostra macchina a stati. Per fare ciò, scegli l'icona di modifica accanto al nome della macchina a stati predefinita di MyStateMachine. Quindi, nella configurazione della macchina a stati, specifica un nome nella casella Nome macchina a stati.
Per questo tutorial, inserisci il nome
InlineMapDemo
. -
(Facoltativo) Nella configurazione della macchina a stati, specificate altre impostazioni del flusso di lavoro, come il tipo di macchina a stati e il relativo ruolo di esecuzione.
Per questo tutorial, mantieni tutte le selezioni predefinite nella configurazione della macchina a stati.
-
Nella finestra di dialogo Conferma creazione del ruolo, scegli Conferma per continuare.
Puoi anche scegliere Visualizza le impostazioni del ruolo per tornare alla configurazione della macchina a stati.
Nota
Se elimini il IAM ruolo creato da Step Functions, Step Functions non può ricrearlo in un secondo momento. Allo stesso modo, se modifichi il ruolo (ad esempio, rimuovendo Step Functions dai principi della IAM politica), Step Functions non può ripristinare le impostazioni originali in un secondo momento.
Passaggio 4: Esegui la macchina a stati
Le esecuzioni di macchine a stati sono casi in cui si esegue il flusso di lavoro per eseguire attività.
-
Nella InlineMapDemopagina, 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.
ASCIINomi diversi e registrazione
Step Functions accetta nomi per macchine a stati, esecuzioni, attività ed etichette che contengono non ASCII caratteri. Poiché tali caratteri non funzioneranno con Amazon CloudWatch, ti consigliamo di utilizzare solo ASCII caratteri in modo da poter tenere traccia delle metriche. CloudWatch
-
(Facoltativo) Nella casella Input, inserisci i valori di input nel JSON formato per eseguire il flusso di lavoro.
-
Selezionare Start execution (Avvia esecuzione).
-
La console Step Functions ti indirizza a una pagina intitolata con il tuo ID di esecuzione. Questa pagina è nota come pagina dei dettagli di esecuzione. In questa pagina è possibile esaminare i risultati dell'esecuzione man mano che l'esecuzione procede o dopo il suo completamento.
Per esaminare i risultati dell'esecuzione, scegliete i singoli stati nella vista Grafico, quindi scegliete le singole schede Dettagli del passaggio nel riquadro per visualizzare i dettagli di ogni stato, inclusi rispettivamente input, output e definizione. Per i dettagli sulle informazioni sull'esecuzione che è possibile visualizzare nella pagina Dettagli di esecuzione, vederePanoramica dei dettagli di esecuzione.
Per visualizzare l'input e l'output dell'esecuzione side-by-side, scegliete Input e output di esecuzione. In Output, visualizza l'array di output restituito dallo
Map
stato. Di seguito è riportato un esempio dell'array di output:[ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]
-