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

如何在Step Function调用AWS Lambda时注入额外参数

在AWS Step Function错误处理任务中添加Lambda额外输入字段

你可以直接修改Second_Task的Parameters配置,不再直接传递整个State作为Payload,而是显式构造一个包含原错误信息和自定义额外字段的对象。具体有两种常见实现方式:

方式1:仅传递错误信息+新增字段

如果只需要保留第一个Task的错误数据(通过ResultPath存在$.error中),同时添加自定义字段:

"Second_Task": {
   "Type": "Task",
   "Resource": "arn:aws:states:::lambda:invoke",
   "OutputPath": "$.Payload", 
   "Parameters": {
      "Payload": {
         "error_details.$": "$.error",  // 传递第一个Task的错误信息
         "handler_type": "step_function_error_processor",  // 固定额外字段
         "workflow_id.$": "$.workflow_id"  // 从现有State中动态取值的字段
      },
      "FunctionName": "${<ErrorHandlerLambdaFunctionName>}"
   },
   "End": true
}

方式2:保留完整State+新增字段

如果需要传递整个当前State内容,再附加自定义字段:

"Second_Task": {
   "Type": "Task",
   "Resource": "arn:aws:states:::lambda:invoke",
   "OutputPath": "$.Payload", 
   "Parameters": {
      "Payload": {
         "full_state.$": "$",  // 传递完整的当前State
         "custom_tag": "error_handler_v1"  // 自定义固定字段
      },
      "FunctionName": "${<ErrorHandlerLambdaFunctionName>}"
   },
   "End": true
}

关键说明

  • Step Functions中,字段名后缀.$表示引用State中的路径值,无后缀则是固定字符串值
  • 修改后,你的Java Lambda Handler就能从输入Payload中同时获取原错误信息和新增的自定义字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:12:22