【发布时间】:2018-12-20 01:00:40
【问题描述】:
假设我的 Step Function 的一部分如下所示:
"ChoiceStateX": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.value",
"NumericEquals": 0,
"Next": "ValueIsZero"
}
],
"Default": "DefaultState"
},
"ValueIsZero": {
"Type" : "Task",
"Resource": "arn:aws:lambda:******:function:Zero",
"Next": "NextState"
},
"DefaultState": {
"Type" : "Task",
"Resource": "arn:aws:lambda:******:function:NotZero",
"Next": "NextState"
}
假设这个状态的输入是:
{
"value": 0,
"output1": object1,
"output2": object2,
}
我的问题是我必须将output1 传递给ValueIsZero 状态并将output2 传递给DefaultState。我知道可以在ValueIsZero 和DefaultState 状态下更改InputPath。但是这种方式对我来说是不可接受的,因为我也从其他一些州调用这些州。
我尝试修改ChoiceStateX 状态如下:
"ChoiceStateX": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.value",
"NumericEquals": 0,
"OutputPath": "$.output1",
"Next": "ValueIsZero"
}
],
"Default": "DefaultState"
}
在这种情况下我得到了下一个错误:不支持字段输出路径。
如何实现这个功能?
PS:目前我在 ChoiceStateX 和 ValueIsZero/DefaultState 之间使用“代理”状态来修改输出。
我已经检查过:
但还没有找到解决办法。
【问题讨论】:
标签: amazon-web-services aws-lambda aws-step-functions