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

AWS Step Function调用Lambda遇Runtime.HandlerNotFound错误求助

解决AWS Step Functions调用Lambda时的Runtime.HandlerNotFound错误

错误核心

Runtime.HandlerNotFound 提示 index.handler is undefined or not exported,本质是Lambda无法找到配置的处理函数入口,以下针对你怀疑的几个方向逐一排查解决:

  • Step Functions配置排查
    Step Functions调用Lambda时,不需要额外配置处理程序路径,只需确保Step Functions的执行角色拥有lambda:InvokeFunction权限,能触发目标Lambda即可。真正的问题核心在Lambda本身的配置和代码,而非Step Functions的步骤配置。

  • Lambda处理程序配置与代码导出检查

    1. 打开Lambda控制台,确认"处理程序"字段是否为index.handler:
      • 如果你的入口文件不是index.js/ts(比如是app.js),或者导出的函数名不是handler(比如是main),需将处理程序改为对应格式,例如app.main。
    2. 检查代码是否正确导出handler函数:
      // 正确导出示例(Node.js)
      exports.handler = async (event) => {
          // 函数逻辑
          return { statusCode: 200, body: JSON.stringify('执行成功') };
      };
      
      若使用TypeScript,需确保编译后的JS文件中存在正确的handler导出,Lambda实际执行的是编译后的产物。
  • Zip包结构验证
    确保打包后的Zip包根目录下直接包含入口文件(如index.js),不要将文件嵌套在子文件夹中。例如,若项目结构为src/index.js,打包时需将src目录下的文件直接放到Zip根目录,而非把整个src文件夹打包进去。

  • 权限问题澄清
    该错误本身与权限无关(权限问题通常会报AccessDenied类错误),但可额外确认:

    • Step Functions执行角色是否具备调用目标Lambda的lambda:InvokeFunction权限;
    • Lambda执行角色是否拥有业务逻辑所需的权限(但这不会导致处理程序找不到的错误)。
  • 最后操作建议
    重新打包代码(确保包含所有依赖和入口文件),重新部署Lambda函数后,再测试Step Functions的执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 04:35:52