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 à un service API dans Step Functions
Utilisez le Parameters
champ dans un Task
état pour contrôler les paramètres transmis à un serviceAPI.
Dans le Parameters
champ, vous devez utiliser le pluriel des paramètres du tableau dans une API action. Par exemple, si vous utilisez le champ Filter de l'DescribeSnapshots
APIaction d'intégration à AmazonEC2, vous devez définir le champ commeFilters
. 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 des données statiques JSON en tant que paramètres
Vous pouvez inclure un JSON objet directement dans la définition de votre machine à états pour le transmettre en tant que paramètre à une ressource.
Par exemple, pour définir le RetryStrategy
paramètre 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 staticJSON. À titre d'exemple plus complet, voici les Parameters
champs Resource
et de la spécification d'une tâche publiée sur une SNS rubrique Amazon nommée
.myTopic
"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"
}
}
},
Passez les entrées d'état sous forme de paramètres à l'aide de Paths
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$
, qui est utilisée pour identifier les composants du JSON texte. Les chemins Step Functions utilisent JsonPath
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ètremyMessage
, 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 est une JSON donnée 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 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 :