

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

# Tutorial: utilizzare un'azione di AWS Step Functions richiamo in una pipeline
<a name="tutorials-step-functions"></a>

È possibile utilizzare AWS Step Functions per creare e configurare macchine a stati. Questo tutorial illustra come aggiungere un'operazione di richiamo a una pipeline che attiva le esecuzioni della macchina a stati dalla pipeline. 

**Importante**  
Come parte della creazione di una pipeline, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS 

In questo tutorial, vengono effettuate le seguenti operazioni:
+ Crea una macchina a stati standard in. AWS Step Functions
+ Immettere direttamente l'input JSON della macchina a stati. Puoi anche caricare il file di input della macchina a stati in un bucket Amazon Simple Storage Service (Amazon S3).
+ Aggiornare la pipeline aggiungendo l'operazione della macchina a stati.

**Topics**
+ [Prerequisito: creare o scegliere una pipeline semplice](#tutorials-step-functions-prereq)
+ [Fase 1: creazione della macchina a stati di esempio](#tutorials-step-functions-sample)
+ [Passaggio 2: aggiungi un'azione di invocazione Step Functions alla tua pipeline](#tutorials-step-functions-pipeline)

## Prerequisito: creare o scegliere una pipeline semplice
<a name="tutorials-step-functions-prereq"></a>

In questo tutorial viene aggiunta un'operazione di richiamo su una pipeline esistente. È possibile utilizzare la pipeline creata in [Tutorial: creazione di una semplice pipeline (bucket S3)](tutorials-simple-s3.md) o [Tutorial: crea una pipeline semplice (CodeCommit repository)](tutorials-simple-codecommit.md).

Si utilizza una pipeline esistente con un'operazione di origine e almeno una struttura a due fasi, ma non si utilizzano gli artefatti di origine per questo esempio.

**Nota**  
Potrebbe essere necessario aggiornare il ruolo del servizio utilizzato dalla pipeline con autorizzazioni aggiuntive necessarie per eseguire questa operazione. A tale scopo, apri la console AWS Identity and Access Management (IAM), trova il ruolo e aggiungi le autorizzazioni alla policy del ruolo. Per ulteriori informazioni, consulta [Aggiungi le autorizzazioni al ruolo di servizio CodePipeline](how-to-custom-role.md#how-to-update-role-new-services).

## Fase 1: creazione della macchina a stati di esempio
<a name="tutorials-step-functions-sample"></a>

Nella console Step Functions, create una macchina a stati utilizzando il modello `HelloWorld` di esempio. Per istruzioni, consulta [Creare una macchina a stati](https://docs.aws.amazon.com/step-functions/latest/dg/getting-started.html#create-state-machine) nella *Guida per gli AWS Step Functions sviluppatori*.

## Passaggio 2: aggiungi un'azione di invocazione Step Functions alla tua pipeline
<a name="tutorials-step-functions-pipeline"></a>

Aggiungi un'azione di richiamo Step Functions alla tua pipeline come segue:

1. [Accedi Console di gestione AWS e apri la CodePipeline console all'indirizzo http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

   Vengono visualizzati i nomi di tutte le pipeline associate al tuo AWS account.

1. In **Name (Nome)**, scegliere il nome della pipeline da modificare. Questa operazione apre una visualizzazione dettagliata della pipeline. compreso lo stato di ciascuna delle operazioni in ciascuna fase della pipeline.

1. Nella pagina dei dettagli della pipeline, scegliere **Edit (Modifica)**.

1. Nella seconda fase della pipeline semplice, scegliere **Edit stage (Modifica fase)**. Scegli **Elimina**. Questo elimina la seconda fase ora che non ne hai più bisogno.

1. In fondo al diagramma, scegliere **\$1 Add stage (\$1 Aggiungi fase)**

1. In **Stage name (Nome fase)**, inserire un nome per la fase, ad esempio **Invoke**, e poi scegliere **Add stage (Aggiungi fase)**.

1. Scegliere **\$1 Add action group (\$1 Aggiungi gruppo di operazioni)**.

1. Alla voce **Action name (Nome operazione)**, inserire un nome, ad esempio **Invoke**.

1. Nel **provider Action**, scegli **AWS Step Functions**. Consenti a **Region (Regione)** di preimpostarsi sulla regione della pipeline.

1. In **Input artifacts (Artefatti di input)**, scegliere `SourceArtifact`.

1. In **State machine ARN (ARN macchina a stati)**, scegliere l’Amazon Resource Name (ARN) per la macchina a stati creata in precedenza.

1. (Facoltativo) In **Execution name prefix (Prefisso nome esecuzione)**, immettere un prefisso da aggiungere all'ID di esecuzione della macchina a stati.

1. In **Input type (Tipo di input)**, scegliere **Literal (Letterale)**.

1. In **Input**, immettere il codice JSON di input previsto dalla macchina a stati di esempio `HelloWorld`.
**Nota**  
L'input per l'esecuzione della macchina a stati è diverso dal termine usato CodePipeline per descrivere gli artefatti di input per le azioni.

   In questo esempio, inserire il seguente codice JSON:

   ```
   {"IsHelloWorldExample": true}
   ```

1. Seleziona **Fatto**.

1. Nello fase che si sta modificando, scegliere **Done (Fatto)**. Nel riquadro AWS CodePipeline , scegli **Save (Salva)** e quindi scegli **Save (Salva)** sul messaggio di avviso.

1. Per inviare le modifiche e avviare l'esecuzione della pipeline, scegli **Release change (Rilascia modifica)** e quindi scegli **Release (Rilascia)**.

1. Sulla pipeline completata, scegli **AWS Step Functions** nell'azione di invoca. Nella AWS Step Functions console, visualizza l'ID di esecuzione della tua macchina a stati. L'ID mostra il nome della macchina a stati `HelloWorld` e l'ID di esecuzione della macchina a stati con il prefisso `my-prefix`.

   ```
   arn:aws:states:us-west-2:account-ID:execution:HelloWorld:my-prefix-0d9a0900-3609-4ebc-925e-83d9618fcca1
   ```