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

如何在本地调试Step Function中包含的一个或多个Lambda函数

本地运行Step Function时调试内部Lambda函数的可行方案

该方案完全基于你已有的工具链即可实现,无需额外安装新工具,也不需要修改状态机或Lambda的业务代码:

  • 第一步:启动调试态目标Lambda
    沿用你已掌握的SAM + VS Code + AWS Toolkit调试流程,在VS Code中给目标Lambda打好断点,启动调试会话。调试模式下的Lambda会默认在本地监听localhost:3001端口,保持该调试会话处于运行状态不要关闭。
  • 第二步:配置本地Step Function的Lambda端点覆盖
    你可以直接在本地Step Function的启动命令中增加参数,强制其调用你本地启动的调试态Lambda,而不是默认的SAM运行时容器或云端Lambda:
    • 如果你用SAM CLI启动本地Step Function,在启动命令后加参数--lambda-endpoint http://localhost:3001即可
    • 如果你直接用Step Function Local的JAR包或容器启动,增加环境变量AWS_LAMBDA_ENDPOINT=http://localhost:3001即可
  • 第三步:触发状态机执行并调试
    按你熟悉的流程启动本地Step Function、触发对应状态机执行,当状态机运行到目标Lambda对应的步骤时,请求会自动转发到你提前启动的调试态Lambda上,VS Code会自动命中断点,此时你可以正常做变量查看、单步执行、异常排查等操作,和单独调试Lambda的体验完全一致。

注意事项

  • 若你的状态机包含多个Lambda,仅需要将你需要调试的Lambda启动为调试模式、配置对应端点映射即可,其余Lambda可继续走默认的本地运行或云端调用逻辑,互不干扰
  • 如果你用容器部署Step Function Local,需要保证容器和本地调试的Lambda网络互通,可将Step Function容器加入本地host网络,或者将Lambda调试端口暴露到Docker网络中
  • 调试完成后记得移除Lambda端点覆盖的配置,避免后续测试其他状态机时出现调用异常

内容的提问来源于stack exchange,提问作者A. Casula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:54:01