【发布时间】:2021-02-10 17:49:56
【问题描述】:
我是 AWS 步骤函数的新手,我正在尝试嵌套多个 Map 类型的 Lambda 任务。不过,我的方法遇到了意外的行为。 get_item_list 输出要输入到 get_item_pages Map 的项目列表。 get_item_pages Map 遍历 get_info。然后我想将 get_info 的每个输出传递给另一个 Map 类型 get_more_info。我使用地图功能的原因是我可以利用扇出功能。第一个 Map 类型 get_item_pages 按预期扇出。在 Lambda CloudWatch 日志中,我可以看到 10 多个日志流启动。不过,get_more_info 状态似乎并没有以同样的方式散开。我经常在 Lambda CloudWatch 中看到嵌套 Map 状态的单个日志流。
我是否在我的实现中遗漏了一些明显的东西,还是我以完全错误的方式处理这个问题?
{
"Comment": "A nested map example",
"StartAt": "get_item_list",
"States": {
"get_item_list": {
"Type": "Task",
"Resource": "arn:aws:lambda:...",
"Next": "get_item_pages",
"ResultPath": "$.data"
},
"get_item_pages": {
"Type": "Map",
"ItemsPath": "$.data.all_items",
"MaxConcurrency": 100,
"Iterator": {
"StartAt": "get_info",
"States": {
"get_info": {
"Type": "Task",
"Resource": "arn:aws:lambda:...",
"ResultPath": "$.data",
"Next": "get_more_info"
},
"get_more_info": {
"Type": "Map",
"ItemsPath": "$.data.all_data",
"MaxConcurrency": 100,
"Iterator": {
"StartAt": "get_detailed_info",
"States": {
"get_detailed_info": {
"Type": "Task",
"Resource": "arn:aws:lambda:...",
"End": true
}
}
},
"End": true
}
}
},
"End": true
}
}
}
【问题讨论】:
标签: aws-lambda aws-step-functions