

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

# Passaggio di parametri a un'API di servizio in Step Functions
<a name="connect-parameters"></a>

**Gestione dello stato e trasformazione dei dati**  
Scopri come [passare dati tra stati con variabili](workflow-variables.md) e [Trasformare dati](transforming-data.md) con. JSONata

Utilizza il campo `Parameters` in uno stato `Task` per controllare quali parametri trasferire a un'API di servizio.

All'interno del `Parameters` campo, è necessario utilizzare la forma plurale dei parametri dell'array in un'azione API. Ad esempio, se utilizzi il campo [Filtro](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html#API_DescribeSnapshots_RequestParameters) dell'azione `DescribeSnapshots` API per l'integrazione con Amazon EC2, devi definire il campo come`Filters`. Se non si utilizza la forma plurale, Step Functions restituisce il seguente errore:

```
The field Filter is not supported by Step Functions.
```

## Passa JSON statico come parametri
<a name="connect-parameters-json"></a>

Puoi includere un oggetto JSON nella definizione della tua macchina a stati in modo da trasferire un parametro a una risorsa.

Ad esempio, per impostare il `RetryStrategy` parametro per l'`SubmitJob`API per AWS Batch, puoi includere quanto segue nei tuoi parametri.

```
"RetryStrategy": {
  "attempts": 5
}
```

Con gli oggetti JSON statici puoi inoltre trasmettere più parametri. Come esempio più completo, di seguito sono riportati `Parameters` i campi `Resource` e della specifica di un'attività che viene pubblicata su un argomento di Amazon SNS denominato. `myTopic`

```
"Resource": "arn:aws:states:::sns:publish",
  "Parameters": {
     "TopicArn": "arn:aws:sns:us-east-2:account-id:myTopic",
     "Message": "test message",
     "MessageAttributes": {
       "my attribute no 1": {
         "DataType": "String",
         "StringValue": "value of my attribute no 1"
       },
       "my attribute no 2": {
         "DataType": "String",
         "StringValue": "value of my attribute no 2"
       }
     }
  },
```

## Passa l'input dello stato come parametri utilizzando Paths
<a name="connect-parameters-path"></a>

È possibile passare parti dell'input di stato come parametri utilizzando i [percorsi](amazon-states-language-paths.md). Un percorso è una stringa, che inizia con`$`, utilizzata per identificare i componenti all'interno del testo JSON. I percorsi Step Functions utilizzano la [JsonPath](https://datatracker.ietf.org/wg/jsonpath/about/)sintassi.

Per specificare che un parametro utilizza un percorso, terminate il nome del parametro con`.$`. Ad esempio, se l'input di stato contiene testo all'interno di un nodo denominato`message`, è possibile passare quel testo come parametro utilizzando un percorso.

Considerate il seguente input di stato:

```
{
  "comment": "A message in the state input",
  "input": {
    "message": "foo",
    "otherInfo": "bar"
  },
  "data": "example"
}
```

Per passare il valore del nodo denominato `message` come parametro`myMessage`, specificate la seguente sintassi:

```
"Parameters": {"myMessage.$": "$.input.message"},
```

Step Functions passa quindi il valore `foo` come parametro.

Per ulteriori informazioni sull'utilizzo dei parametri in Step Functions, vedere quanto segue:
+ [Elaborazione di input e output](concepts-input-output-filtering.md)
+ [Manipolazione dei parametri nei flussi di lavoro di Step Functions](input-output-inputpath-params.md)

## Passa i nodi degli oggetti Context come parametri
<a name="connect-parameters-context"></a>

Oltre al contenuto statico e ai nodi dell'input di stato, potete passare nodi dall'oggetto Context come parametri. L'oggetto Context è costituito da dati JSON dinamici che esistono durante l'esecuzione di una macchina a stati. Include informazioni sulla tua macchina di stato e l'esecuzione corrente. È possibile accedere all'oggetto Context utilizzando un percorso nel `Parameters` campo di una definizione di stato.



Per ulteriori informazioni sull'oggetto Context e su come accedere a tali dati da un `"Parameters"` campo, vedere quanto segue:
+ [Accesso ai dati di esecuzione dall'oggetto Context in Step Functions](input-output-contextobject.md)
+ [Accesso all'oggetto Context](input-output-contextobject.md#contextobject-access)
+ [Ottieni un token dall'oggetto Context](connect-to-resource.md#wait-token-contextobject)