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

如何在本地测试已部署到AWS的Lambda函数?(PyCharm/Ubuntu环境)

在PyCharm/Ubuntu环境本地测试已部署的AWS Lambda函数(基于AWS SAM CLI)

前提准备

  • 已安装AWS SAM CLI、Docker,且AWS CLI已配置好有权限访问目标Lambda的凭证
  • 确保Docker处于运行状态(SAM本地运行依赖Docker容器模拟Lambda环境)

步骤1:拉取已部署的Lambda到本地

执行以下命令,将云端的Lambda函数代码、配置拉取到本地SAM项目结构中:

sam pull --function-name <你的Lambda函数名称> --region <目标AWS区域,比如us-east-1>

执行后会在当前目录生成SAM项目,包含函数代码、template.yaml(函数配置)以及默认的测试事件目录。

步骤2:准备测试事件

  • 可以直接使用拉取后生成的默认测试事件(位于events目录下),也可以自定义事件文件(比如my-test-event.json),格式要符合Lambda的触发事件规范(比如S3事件、API Gateway事件等)。

步骤3:本地运行测试

在终端(或PyCharm的Terminal面板)执行以下命令,本地调用Lambda函数:

sam local invoke <函数名称> -e events/your-test-event.json
  • 如果需要传递环境变量,可在template.yaml中修改Environment字段,或者通过--env-vars参数指定环境变量文件。
  • 如果Lambda依赖了AWS服务(如S3、DynamoDB),本地运行时会使用你本地AWS CLI配置的凭证进行访问,确保该凭证有对应权限。

步骤4:PyCharm集成优化

要在PyCharm中更便捷测试,可以创建自定义运行配置:

  1. 打开PyCharm的「Run」→「Edit Configurations」
  2. 点击「+」选择「Shell Script」
  3. 在「Script path」中填写sam,「Parameters」填写local invoke <函数名> -e events/your-test-event.json
  4. 「Working directory」设置为SAM项目的根目录
  5. 保存配置后,即可直接点击运行按钮执行本地测试

注意事项

  • 如果Lambda使用了自定义层(Layers),SAM CLI会自动尝试拉取层到本地,但如果层是私有或需要特定权限,需确保本地凭证能访问该层资源。
  • 若云端Lambda的配置(如内存、超时时间)有修改,拉取后template.yaml会同步这些设置,本地运行时会遵循该配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:32:19