You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Step Functions的Map迭代中获取各步骤执行响应?

获取AWS Step Functions Map状态各迭代响应的实现方案

核心思路

要获取Map状态中每个迭代的执行响应,需从两方面调整Step Functions设计:一是确保Map状态输出保留每个步骤的完整执行结果,二是通过状态机内置机制或API捕获结果,用于展示当前处理步骤及上一步输出。

具体实现步骤

1. 配置Map状态保留全量迭代输出

默认Map状态仅返回成功迭代结果,需修改配置以保留完整执行上下文:

  • 在Map状态定义中设置ResultPath: '$',让迭代的输入、输出完整保留在状态机总输出中。
  • 让test-fetch-input-workflow返回的步骤数组包含唯一标识(如stepId),示例格式:[{ "stepId": "doc-extract-001", "stepName": "document-extraction", "params": {...} }, ...],方便后续关联结果。

示例Map状态定义片段:

"ProcessSteps": {
  "Type": "Map",
  "ItemProcessor": {
    "ProcessorConfig": {
      "Mode": "INLINE",
      "ExecutionType": "STANDARD"
    },
    "StartAt": "ExecuteStepLambda",
    "States": {
      "ExecuteStepLambda": {
        "Type": "Task",
        "Resource": "arn:aws:lambda:us-east-1:123456789012:function:workflow-step-lambda",
        "End": true,
        "ResultPath": "$.stepResult"
      }
    }
  },
  "ItemsPath": "$.steps",
  "ResultPath": "$.processedSteps",
  "End": true
}

2. 增强Workflow Step Lambda的输出内容

修改workflow-step-lambda,让返回结果包含步骤名称、执行状态、输出数据和时间戳,示例返回格式:

{
  "stepName": "document-extraction",
  "status": "SUCCEEDED",
  "output": { "extractedText": "xxx", "pageCount": 5 },
  "timestamp": "2024-05-20T10:30:00Z"
}

3. 获取并展示迭代结果

  • 查询执行详情:通过调用Step Functions的DescribeExecution API,获取状态机完整执行输出,其中processedSteps字段包含所有Map迭代的结果列表,直接遍历该列表即可展示每个步骤的状态与输出。
  • 实时推送进度(可选):若需实时展示,可在每个步骤的Lambda中把执行结果发送到SNS主题,前端订阅主题接收更新;或利用CloudWatch Events监听Map迭代的状态变化事件,再推送给前端。

4. 处理失败场景

在Map状态的任务节点中配置Catch捕获错误,将错误信息写入输出,确保失败步骤的状态也能被展示:

"ExecuteStepLambda": {
  "Type": "Task",
  "Resource": "arn:aws:lambda:us-east-1:123456789012:function:workflow-step-lambda",
  "End": true,
  "ResultPath": "$.stepResult",
  "Catch": [
    {
      "ErrorEquals": ["States.ALL"],
      "ResultPath": "$.stepError",
      "Next": "MarkStepFailed"
    }
  ]
},
"MarkStepFailed": {
  "Type": "Pass",
  "End": true,
  "Result": { "status": "FAILED" },
  "ResultPath": "$.stepResult"
}

内容的提问来源于stack exchange,提问作者SSS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 08:30:59