While invoking a state's task, is it possible to specify multiple InputPaths, or 'pick' more than one JSON nodes to be passed to the task's input ?
Example:
If this is the execution input:
{
"id":"identifier",
"nestedObjectA": {
"doubleNestedObjectA": {
"valueA": "value"
}
},
"nestedObjectB" : {
"valueB": "value"
}
}
is it possible to pass the following as input to one task:
{
"id":"identifier",
"nestedObjectB" : {
"valueB": "value"
}
}
and the following to other ?
{
"id":"identifier",
"nestedObjectA": {
"doubleNestedObjectA": {
"valueA": "value"
}
}
}
Step Functions paths use JsonPath syntax. To specify that a parameter use a path to reference a JSON node in the input, end the parameter name with . $ . For example, if you have text in your state input in a node named message , you could pass that to a parameter by referencing the input JSON with a path.
Use ResultPath to combine a task result with task input, or to select one of these. The path you provide to ResultPath controls what information passes to the output. ResultPath is limited to using reference paths, which limit scope so that it can identify only a single node in JSON.
A Parallel state causes AWS Step Functions to execute each branch, starting with the state named in that branch's StartAt field, as concurrently as possible, and wait until all branches terminate (reach a terminal state) before processing the Parallel state's Next field.
This was not initially possible using JsonPath, but can now be easily done using parameters in stepfunctions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With