

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

# AWS Step Functions richiama il riferimento all'azione
<a name="action-reference-StepFunctions"></a>

Un' AWS CodePipeline azione che esegue le seguenti operazioni:
+ Avvia l'esecuzione di una macchina a AWS Step Functions stati dalla pipeline.
+ Fornisce uno stato iniziale alla macchina a stati tramite una proprietà nella configurazione dell'operazione o un file contenuto in un artefatto della pipeline da passare come input.
+ Facoltativamente, imposta un prefisso dell'ID di esecuzione per identificare le esecuzioni che provengono dall'operazione.
+ Supporta macchine a stati [Standard ed Express](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) .

**Nota**  
L'azione Step Functions viene eseguita su Lambda e pertanto ha quote di dimensione degli artefatti uguali alle quote di dimensione degli artefatti per le funzioni Lambda. Per ulteriori informazioni, consulta le [quote Lambda nella Lambda Developer](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) Guide.

## Tipo di operazione
<a name="action-reference-StepFunctions-type"></a>
+ Categoria: `Invoke`
+ Proprietario: `AWS`
+ Provider: `StepFunctions`
+ Versione: `1`

## Parametri di configurazione
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Obbligatorio: sì  
L’ Amazon Resource Name (ARN) per la macchina a stati da richiamare.

**ExecutionNamePrefix**  
Obbligatorio: no  
Per impostazione predefinita, l'ID di esecuzione dell'operazione viene utilizzato come nome di esecuzione della macchina a stati. Se viene fornito un prefisso, viene anteposto all'ID di esecuzione dell'operazione con un trattino e utilizzato insieme come nome di esecuzione della macchina a stati.  

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Per una macchina a stati di tipo Express, il nome deve contenere solo caratteri 0-9, A-Z, a-z, - e \$1.

**InputType**  
Obbligatorio: no  
+ **Literal (Letterale)** (impostazione predefinita): se specificato, il valore nel campo **Input** viene passato direttamente all'input della macchina a stati.

  Esempio di voce per il campo **Input** quando è selezionato **Literal (Letterale)** :

  ```
  {"action": "test"}
  ```
+ **FilePath**: Il contenuto di un file nell'elemento di input specificato dal campo **Input viene utilizzato come input** per l'esecuzione della macchina a stati. Un artefatto di input è richiesto quando **InputType**è impostato su. **FilePath**

  Esempio di immissione per il campo **Input** quando **FilePath**è selezionato:

  ```
  assets/input.json
  ```

**Input**  
Obbligatorio: condizionale  
+ **Letterale**: quando **InputType**è impostato su **Literal** (impostazione predefinita), questo campo è facoltativo. 

  Se fornito, il campo **Input** viene utilizzato direttamente come input per l'esecuzione della macchina a stati. In caso contrario, la macchina a stati viene richiamata con un oggetto JSON vuoto `{}`.
+ **FilePath**: Quando **InputType**è impostato su **FilePath**, questo campo è obbligatorio.

  Un artefatto di input è richiesto anche quando **InputType**è impostato su. **FilePath**

  Il contenuto del file nell'artefatto di input specificato viene utilizzato come input per l'esecuzione della macchina a stati.

## Input artifact (Artefatti di input)
<a name="action-reference-StepFunctions-input"></a>
+ **Numero di artefatti:** `0 to 1`
+ **Descrizione:** se **InputType**impostato su **FilePath**, questo artefatto è obbligatorio e viene utilizzato per generare l'input per l'esecuzione della macchina a stati.

## Artefatti di output
<a name="action-reference-StepFunctions-output"></a>
+ **Numero di artefatti:** `0 to 1` 
+ **Descrizione:**
  + **Macchine a stati Standard**: se fornito, l'artefatto di output viene popolato con l'output della macchina a stati. Questo viene ottenuto dalla `output` proprietà della risposta dell'[ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) dopo che l'esecuzione della macchina a stati è stata completata correttamente.
  + **Macchine a stati Express**: non supportate.

## Variabili di output
<a name="action-reference-StepFunctions-variables"></a>

Questa operazione produce variabili di output che possono essere referenziate mediante configurazione dell'operazione di un'operazione a valle nella pipeline.

Per ulteriori informazioni, consulta [Riferimento alle variabili](reference-variables.md).

**StateMachineArn**  
ARN della macchina a stati.

**ExecutionArn**  
L'ARN di esecuzione della macchina a stati. Solo macchine a stati Standard.

## Autorizzazioni per i ruoli di servizio: azione `StepFunctions`
<a name="edit-role-stepfunctions"></a>

Per l'`StepFunctions`azione, le seguenti sono le autorizzazioni minime necessarie per creare pipeline con un'azione di invoca Step Functions.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Esempio di configurazione dell'operazione
<a name="action-reference-StepFunctions-example"></a>

### Esempio di input predefinito
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix"
    }
}
```

------

### Esempio di input letterale
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
  Input: '{"action": "test"}'
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "Input": "{\"action\": \"test\"}"
    }
}
```

------

### Esempio di file di input
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ YAML ]

```
Name: ActionName
InputArtifacts:
  - Name: myInputArtifact
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine'
  ExecutionNamePrefix: my-prefix
  InputType: FilePath
  Input: assets/input.json
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "InputType": "FilePath",
        "Input": "assets/input.json"
    }
}
```

------

## Comportamento
<a name="action-reference-StepFunctions-types"></a>

Durante una versione, CodePipeline esegue la macchina a stati configurata utilizzando l'input specificato nella configurazione dell'azione.

Quando **InputType**è impostato su **Literal**, il contenuto del campo di configurazione dell'azione di **input** viene utilizzato come input per la macchina a stati. Quando l'input letterale non viene fornito, l'esecuzione della macchina a stati utilizza un oggetto JSON vuoto `{}`. Per ulteriori informazioni sull'esecuzione di un'esecuzione di una macchina a stati senza input, consulta l'[ StartExecutionAPI Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Quando **InputType**è impostata su **FilePath**, l'azione decomprime l'elemento di input e utilizza il contenuto del file specificato nel campo di configurazione dell'azione di **input** come input per la macchina a stati. Quando **FilePath**viene specificato, il campo **di input** è obbligatorio e deve esistere un elemento di input; in caso contrario, l'azione fallisce.

Dopo l'esecuzione di un avvio riuscito, il comportamento divergerà per i due tipi di macchina a stati, *Standard* ed *Express*.

### Macchine a stati Standard
<a name="action-reference-StepFunctions-types-standard"></a>

Se l'esecuzione della macchina a stati standard è stata avviata correttamente, esegue il CodePipeline polling dell'`DescribeExecution`API finché l'esecuzione non raggiunge lo stato di terminale. Se l'esecuzione viene completata correttamente, l'operazione ha esito positivo; in caso contrario, ha esito negativo.

Se è configurato un artefatto di output, l'artefatto conterrà il valore restituito dalla macchina a stati. Questo viene ottenuto dalla `output` proprietà della risposta dell'[ DescribeExecution API Step Functions](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) dopo che l'esecuzione della macchina a stati è stata completata correttamente. Si noti che vi sono dei vincoli di lunghezza di output applicati a questa API.

#### Gestione degli errori
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Se l'operazione non riesce ad avviare un'esecuzione di una macchina a stati, l'esecuzione dell'operazione ha esito negativo.
+ Se l'esecuzione della macchina a stati non riesce a raggiungere lo stato di terminale prima che l'azione CodePipeline Step Functions raggiunga il suo timeout (impostazione predefinita di 7 giorni), l'esecuzione dell'azione fallisce. La macchina a stati potrebbe continuare nonostante questo errore. Per ulteriori informazioni sui timeout di esecuzione delle macchine a stati in Step Functions, consulta Flussi di lavoro [Standard e Express.](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)
**Nota**  
È possibile richiedere un aumento della quota per il timeout dell'azione di richiamo per l'account con l'operazione. Tuttavia, l'aumento delle quote si applica a tutte le operazioni di questo tipo in tutte le regioni per tale account.
+ Se l'esecuzione della macchina a stati raggiunge uno stato terminale di FAILED, TIMED\$1OUT o ABORTED, l'esecuzione dell'operazione ha esito negativo.

### Macchine a stati Express
<a name="action-reference-StepFunctions-types-express"></a>

Se l'esecuzione della macchina a stati Express è stata avviata correttamente, l'esecuzione dell'operazione di richiamo viene completata correttamente.

Considerazioni relative alle operazioni configurate per le macchine a stati Express:
+ Non è possibile designare un artefatto di output.
+ L'operazione non attende il completamento dell'esecuzione della macchina a stati.
+ Dopo l'avvio dell'esecuzione dell'azione CodePipeline, l'esecuzione dell'azione riesce anche se l'esecuzione della macchina a stati fallisce.

#### Gestione degli errori
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Se CodePipeline non riesce ad avviare l'esecuzione di una macchina a stati, l'esecuzione dell'azione fallisce. Altrimenti, l'operazione viene eseguita immediatamente con esito positivo. L'azione riesce CodePipeline indipendentemente dal tempo impiegato dall'esecuzione della macchina a stati per essere completata o dal relativo risultato.

## Consulta anche
<a name="action-reference-StepFunctions-links"></a>

Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
+ [AWS Step Functions Guida per gli sviluppatori](https://docs.aws.amazon.com/step-functions/latest/dg/)*: per informazioni sulle macchine a stati, le esecuzioni e gli input per le macchine a stati, consulta la Guida per gli AWS Step Functions sviluppatori.*
+ [Tutorial: utilizzare un'azione di AWS Step Functions richiamo in una pipeline](tutorials-step-functions.md)— Questo tutorial ti consente di iniziare con una macchina a stati standard di esempio e mostra come utilizzare la console per aggiornare una pipeline aggiungendo un'azione di invoca Step Functions.