AWS 地图状态输入管理
AWS Map State Input Management
我目前正在使用 AWS 步函数进行一些测试,尽管它易于使用,但我无法正确管理地图状态的输入:
这是提供的输入:
{
"keep": "elementToKeep",
"my_array": [
"element0",
"element1",
"element2"
]
}
我想使地图状态遍历 my_array
以便内部状态作为输入接收
{ "keep": "elementToKeep", "element": "element0" }
第一次迭代
{ "keep": "elementToKeep", "element": "element1" }
在第 2 次迭代
- 等等...
现在我只能提供 "element0"
(在第一次交互时)作为输入,甚至无法使用 JSON 语法正确格式化它。
下面我粘贴了状态机JSON结构。我更熟悉工作流视图,但非常感谢任何帮助。
{
"StartAt": "Map",
"States": {
"Map": {
"Type": "Map",
"End": true,
"Iterator": {
"StartAt": "Pass",
"States": {
"Pass": {
"Type": "Pass",
"End": true
}
}
},
"ItemsPath": "$.my_array"
}
}
}
经过几个小时的挖掘,我找到了解决方案:
出于某种原因,作为内部函数输入提供的数组项(此处为 element0
、element1
等...)被映射为 $$.Map.Item.Value
(出于某些原因)。
所以如果需要在数组元素旁边提供其他参数,在“转换数组项”字段中放置:
{
"element.$": "$$.Map.Item.Value",
"keep.$": "$.keep"
}
产生了问题中指定的所需输入,因此我将问题标记为已关闭。
在此 link 中可以找到此答案的来源。
我目前正在使用 AWS 步函数进行一些测试,尽管它易于使用,但我无法正确管理地图状态的输入:
这是提供的输入:
{
"keep": "elementToKeep",
"my_array": [
"element0",
"element1",
"element2"
]
}
我想使地图状态遍历 my_array
以便内部状态作为输入接收
{ "keep": "elementToKeep", "element": "element0" }
第一次迭代{ "keep": "elementToKeep", "element": "element1" }
在第 2 次迭代- 等等...
现在我只能提供 "element0"
(在第一次交互时)作为输入,甚至无法使用 JSON 语法正确格式化它。
下面我粘贴了状态机JSON结构。我更熟悉工作流视图,但非常感谢任何帮助。
{
"StartAt": "Map",
"States": {
"Map": {
"Type": "Map",
"End": true,
"Iterator": {
"StartAt": "Pass",
"States": {
"Pass": {
"Type": "Pass",
"End": true
}
}
},
"ItemsPath": "$.my_array"
}
}
}
经过几个小时的挖掘,我找到了解决方案:
出于某种原因,作为内部函数输入提供的数组项(此处为 element0
、element1
等...)被映射为 $$.Map.Item.Value
(出于某些原因)。
所以如果需要在数组元素旁边提供其他参数,在“转换数组项”字段中放置:
{
"element.$": "$$.Map.Item.Value",
"keep.$": "$.keep"
}
产生了问题中指定的所需输入,因此我将问题标记为已关闭。
在此 link 中可以找到此答案的来源。