

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
<a name="tutorial-map-inline"></a>

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](state-map-inline.md) Inline mode.

In questo tutorial, utilizzi *lo stato Inline Map* per generare ripetutamente identificatori univoci universali della versione 4 (UUID v4). Si inizia creando un flusso di lavoro che contiene due [Passare lo stato del workflow](state-pass.md) stati e uno stato della mappa in *linea in* Workflow Studio. Quindi, configurate l'input e l'output, incluso l'array JSON 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
<a name="use-inline-map-create-workflow"></a>

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.

1. Apri la [console Step Functions](https://console.aws.amazon.com/states/home), scegli **Macchine a stati** dal menu, quindi scegli **Crea macchina a stati**.

1. Scegliete **Crea da vuoto**.

1. Assegna un nome alla tua macchina a stati, quindi scegli **Continua** per modificare la tua macchina a stati in Workflow Studio.

1. Dalla scheda **Flow**, trascina uno stato **Pass** e rilascialo nello stato vuoto denominato **Drag first state here**.

1. Trascina uno stato della **mappa** e rilascialo sotto lo stato del **Pass**. Rinomina lo stato della **mappa** in. **Map demo**

1. Trascina un secondo stato **Pass** e rilascialo all'interno dello stato **demo della Mappa**.

1. Rinomina il secondo stato **Pass** in. **Generate UUID**

## Fase 2: Configurare input e output
<a name="use-inline-map-configure-io"></a>

In questo passaggio, configuri input e output per tutti gli stati del prototipo del flusso di lavoro. Innanzitutto, inserisci 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.

1. 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"
     ]
   }
   ```

1. Scegli lo stato **dimostrativo della mappa** e nella scheda **Configurazione**, procedi come segue:

   1. Scegli **Fornisci un percorso all'array degli elementi**.

   1. Specificate il seguente [percorso di riferimento](amazon-states-language-paths.md#amazon-states-language-reference-paths) per selezionare il nodo che contiene l'array di input: 

      ```
      $.colors
      ```

1. Scegliete lo stato **Genera UUID** e nella scheda **Input**, effettuate le seguenti operazioni:

   1. Scegliete **Trasforma input con parametri**.

   1. Inserisci il seguente input JSON 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()"
      }
      ```

1. Per lo stato **Genera UUID**, scegliete la scheda **Output ed effettuate** le seguenti operazioni:

   1. Scegliete **Filtra output** con. OutputPath

   1. Immettete il seguente percorso di riferimento per selezionare il nodo JSON che contiene gli elementi dell'array di output: 

      ```
      $.uuid
      ```

## Fase 3: Rivedere e salvare la definizione generata automaticamente
<a name="use-inline-map-review-asl-def"></a>

Mentre trascini gli stati dal pannello **Flow** sull'area di lavoro, Workflow Studio compone automaticamente la definizione [Amazon States Language](concepts-amazon-states-language.md) (ASL) del tuo flusso di lavoro in tempo reale. Puoi modificare questa definizione in base alle tue esigenze.

1. (Facoltativo) Scegli **Definizione** nel [Pannello Inspector](workflow-studio.md#workflow-studio-components-formdefinition) pannello per visualizzare la definizione del tuo flusso di lavoro generata automaticamente da Amazon States Language.
**Suggerimento**  
Puoi anche visualizzare la definizione ASL in Workflow Studio. [Editor del codice](workflow-studio.md#wfs-interface-code-editor) Nell'editor di codice, puoi anche modificare la definizione ASL 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
         }
       }
     }
   ```

1. 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**.

1. (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**.

1. 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 ruolo IAM 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 nella policy IAM), Step Functions non può ripristinare le impostazioni originali in un secondo momento. 

## Fase 4: Esegui la macchina a stati
<a name="use-inline-map-sm-run"></a>

Le esecuzioni di macchine a stati sono casi in cui si esegue il flusso di lavoro per eseguire attività.

1. Nella **InlineMapDemo**pagina, scegli **Avvia** esecuzione.

1. Nella finestra di dialogo **Avvia esecuzione**, effettuate le seguenti operazioni:

   1. (Facoltativo) Inserite 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 impediranno ad Amazon CloudWatch di registrare i dati, consigliamo di utilizzare solo caratteri ASCII per tenere traccia delle metriche di Step Functions.

   1. (Facoltativo) Nella casella **Input**, inserisci i valori di input in formato JSON per eseguire il flusso di lavoro.

   1. Selezionare **Start execution (Avvia esecuzione)**.

   1. La console Step Functions ti indirizza a una pagina intitolata con il tuo ID di esecuzione, nota come pagina *Execution Details*. È possibile esaminare i risultati dell'esecuzione man mano che il flusso di lavoro procede e 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](concepts-view-execution-details.md#exec-details-intf-step-details) 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*, vedere[Panoramica dei dettagli di esecuzione](concepts-view-execution-details.md#exec-details-interface-overview).

   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"
   ]
   ```