Transmettre des paramètres à une API de service - AWS Step Functions

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.

Transmettre des paramètres à une API de service

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

À l'intérieur du Parameters champ, vous devez utiliser la forme plurielle des paramètres du tableau dans une action d'API. Par exemple, si vous utilisez le champ Filtre de l'action d'DescribeSnapshotsAPI pour l'intégration à Amazon EC2, vous devez définir le champ commeFilters. Si vous n'utilisez pas la forme plurielle, Step Functions renvoie l'erreur suivante :

The field Filter is not supported by Step Functions.

Transmettre du JSON statique en tant que paramètres

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 paramètre RetryStrategy de l'API SubmitJob pour AWS Batch, vous pouvez inclure ce qui suit 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 qui publie sur une rubrique Amazon SNS nomméemyTopic.

"Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-2:123456789012: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" } } },

Transmettre l'entrée d'état en tant que paramètres à l'aide de chemins

Vous pouvez transmettre des parties de l'entrée d'état sous forme de paramètres à l'aide de chemins. Un chemin est une chaîne commençant par$, utilisée pour identifier les composants du texte JSON. Les chemins Step Functions utilisent JsonPathla 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.

Prenez en compte 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, 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 :

Transmettre les nœuds d’objet de contexte comme paramètres

En plus du contenu statique, et des nœuds de l’état d'entrée, vous pouvez transmettre les nœuds du contexte d'objet comme paramètres. L'objet de contexte correspond à des données JSON dynamiques qui existent pendant l'exécution d'une machine d'état. Il inclut des informations sur votre machine d'état et l'exécution actuelle. Vous pouvez accéder à l'objet de contexte à l'aide d'un chemin d'accès dans le champ "Parameters" d'une définition d’état.

Pour de plus amples informations sur l'objet de contexte et la façon d'accéder à ces données à partir d'un champ "Parameters", veuillez consulter :