我需要在不更改初始InputPath结构的情况下,使用新属性来扩展Step Functions状态的InputPath。
例如,我的InputPath如下:
{
"key1": "value1",
"key2": "value2"
}
我需要在此处添加一对新的键/值,并将其传递给Lambda。因此,我想拥有的是:
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
但是我还没有找到实现此方法的方法。我能做的就是使用Parameters更改InputPath的结构:
"InputPath": "$",
"Parameters": {
"input.$": "$",
"newValue": "value3"
}
所以我得到具有以下结构的JSON:
{
"input": {
"key1": "value1",
"key2": "value2"
},
"key3": "value3"
}
这不是一个大问题,但是我想知道是否有一种方法可以保持InputPath的扁平结构并且不添加新属性(例如在我的示例中为“ input”)。
UPD:我知道可以使用Pass状态来实现它,但是状态机将变得过大。
答案 0 :(得分:0)
是的,可以展平结构。尝试关注
"InputPath": "$",
"Parameters": {
"key1.$": "$.key1",
"key2.$": "$.key2",
"key3": "value3"
}
有关更多详细信息,请参阅InputPaths and Parameters。
修改
由于您要将新值传递给Lambda函数,因此我假设您的状态为 Task 类型。 Task状态提供对参数的支持。因此,您不需要通过状态即可达到相同的目的。