

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Transmission de paramètres à une API de service dans Step Functions
<a name="connect-parameters"></a>

**Gestion de l'état et transformation des données**  
Découvrez comment [transmettre des données entre états avec des variables](workflow-variables.md) et [transformer des données avec JSONata](transforming-data.md).

Utilisez le champ `Parameters` dans un état `Task` pour contrôler quels paramètres sont transmis à une API de service.

Dans le `Parameters` champ, vous devez utiliser le pluriel des paramètres du tableau dans une action d'API. Par exemple, si vous utilisez le champ [Filter](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSnapshots.html#API_DescribeSnapshots_RequestParameters) de l'action d'`DescribeSnapshots`API pour l'intégrer à Amazon EC2, vous devez définir le champ comme`Filters`. Si vous n'utilisez pas le pluriel, Step Functions renvoie le message d'erreur suivant :

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

## Transmettre du JSON statique en tant que paramètres
<a name="connect-parameters-json"></a>

Vous pouvez inclure un objet JSON directement dans la définition de votre machine d'état pour transmettre en tant que paramètre vers une ressource.

Par exemple, pour définir le `RetryStrategy` paramètre de l'`SubmitJob`API pour AWS Batch, vous pouvez inclure les éléments suivants dans vos paramètres.

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

Vous pouvez également transmettre plusieurs paramètres avec JSON statique. À titre d'exemple plus complet, voici les `Parameters` champs `Resource` et de la spécification d'une tâche publiée dans une rubrique Amazon SNS nommée. `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"
       }
     }
  },
```

## Passez les entrées d'état sous forme de paramètres à l'aide de Paths
<a name="connect-parameters-path"></a>

Vous pouvez transmettre des parties de l'entrée d'état sous forme de paramètres à l'aide de [chemins](amazon-states-language-paths.md). Un chemin est une chaîne, commençant par`$`, qui est utilisée pour identifier les composants dans le texte JSON. Les chemins Step Functions utilisent [JsonPath](https://datatracker.ietf.org/wg/jsonpath/about/)la syntaxe.

Pour spécifier qu'un paramètre utilise un chemin, terminez le nom du paramètre par`.$`. Par exemple, si votre entrée d'état contient du texte dans un nœud nommé`message`, vous pouvez transmettre ce texte en tant que paramètre à l'aide d'un chemin.

Tenez compte de l'entrée d'état suivante :

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

Pour transmettre la valeur du nœud nommé `message` en tant que paramètre`myMessage`, spécifiez la syntaxe suivante :

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

Step Functions transmet ensuite la valeur `foo` en tant que paramètre.

Pour plus d'informations sur l'utilisation des paramètres dans Step Functions, consultez les rubriques suivantes :
+ [Traitement des entrées et des sorties](concepts-input-output-filtering.md)
+ [Manipulation des paramètres dans les flux de travail Step Functions](input-output-inputpath-params.md)

## Transmettre les nœuds de l'objet Context en tant que paramètres
<a name="connect-parameters-context"></a>

Outre le contenu statique et les nœuds provenant de l'entrée d'état, vous pouvez transmettre des nœuds de l'objet Context en tant que paramètres. L'objet Context est une donnée JSON dynamique qui existe lors de l'exécution d'une machine à états. Il inclut des informations sur votre machine d'état et l'exécution actuelle. Vous pouvez accéder à l'objet Context en utilisant un chemin dans le `Parameters` champ d'une définition d'état.



Pour plus d'informations sur l'objet Context et sur la manière d'accéder à ces données à partir d'un `"Parameters"` champ, consultez les rubriques suivantes :
+ [Accès aux données d'exécution depuis l'objet Context dans Step Functions](input-output-contextobject.md)
+ [Accès à l'objet Context](input-output-contextobject.md#contextobject-access)
+ [Obtenir un jeton à partir de l'objet Context](connect-to-resource.md#wait-token-contextobject)