如何在步进函数中输出状态的原始输入?
How do I output original input of a state in a step function?
我有一个定义如下的阶跃函数:
{
"StartAt": "A",
"States": {
"A": {
"Type": "Task",
"Resource": "do something",
"Next": "B"
},
"B": {
"Type": "Task",
"Resource": "do something",
"End": true
}
}
}
问题是状态 B 的输入。我需要它与状态 A 的输入相同。但是目前步骤 B 的输入是步骤 A 的输出。考虑到步骤 A 实际上调用了不同的步骤函数或执行了 DynamoDB 操作(不涉及 lambda),对于该步骤的输出我无能为力,但步骤 B 仍然需要接收与步骤 A 最初相同的输入。我该如何定义它?
在状态 A
中设置 ResultPath: null
以丢弃结果并保持状态不变。
您可以在 Parallel 中执行任务,大致如下:
"A_And_B":{
"Type":"Parallel",
"Branches":[
{
"StartAt":"A",
"States":{
"A":{
"Type":"Task",
"Resource":"do something",
"Next":"B"
}
}
},
{
"StartAt":"B",
"States":{
"B":{
"Type":"Task",
"Resource":"do something",
"End":true
}
}
}
],
"Next":"NextState"
}
我有一个定义如下的阶跃函数:
{
"StartAt": "A",
"States": {
"A": {
"Type": "Task",
"Resource": "do something",
"Next": "B"
},
"B": {
"Type": "Task",
"Resource": "do something",
"End": true
}
}
}
问题是状态 B 的输入。我需要它与状态 A 的输入相同。但是目前步骤 B 的输入是步骤 A 的输出。考虑到步骤 A 实际上调用了不同的步骤函数或执行了 DynamoDB 操作(不涉及 lambda),对于该步骤的输出我无能为力,但步骤 B 仍然需要接收与步骤 A 最初相同的输入。我该如何定义它?
在状态 A
中设置 ResultPath: null
以丢弃结果并保持状态不变。
您可以在 Parallel 中执行任务,大致如下:
"A_And_B":{
"Type":"Parallel",
"Branches":[
{
"StartAt":"A",
"States":{
"A":{
"Type":"Task",
"Resource":"do something",
"Next":"B"
}
}
},
{
"StartAt":"B",
"States":{
"B":{
"Type":"Task",
"Resource":"do something",
"End":true
}
}
}
],
"Next":"NextState"
}