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

如何本地运行AWS Lambda访问DynamoDB并解决SAM CLI相关问题

SAM CLI本地测试Golang Lambda兼容本地与云端部署配置方案

问题1:zip部署包本地运行权限报错修复

该问题由Windows环境下SAM CLI解压zip包时未自动给bootstrap文件分配可执行权限导致,云端为Linux环境无此限制,修复无需修改template.yml:

  • 执行sam local命令前,先在当前终端设置环境变量:
    • CMD环境:set SAM_CLI_BINARY_EXECUTABLE_PERMISSIONS=755
    • PowerShell环境:$env:SAM_CLI_BINARY_EXECUTABLE_PERMISSIONS=755
  • 后续再执行sam local start-api等测试命令即可正常运行。可将该环境变量添加到Windows系统用户环境变量中,无需每次执行前手动设置。

问题2:本地AWS凭证变量注入方案

完全不需要在template.yml中声明AWS保留环境变量,两种方案均可实现本地凭证注入,且不影响云端部署:

  • 方案1(优先推荐):使用本地AWS CLI凭证配置
    提前通过aws configure命令或直接编辑C:\Users\用户名\.aws\credentials文件配置好凭证与会话令牌,sam local运行时会自动读取本地凭证,无需额外传参。需要切换不同权限的凭证时,直接在sam命令后添加--profile 配置名参数即可。
  • 方案2:终端临时注入变量
    如果使用临时生成的凭证,直接在当前终端设置三个环境变量后再启动sam本地服务即可,无需在template中提前声明:
    $env:AWS_ACCESS_KEY_ID = "你的AccessKey ID"
    $env:AWS_SECRET_ACCESS_KEY = "你的SecretAccessKey"
    $env:AWS_SESSION_TOKEN = "你的会话令牌"
    sam local start-api
    

以上两种方案均不需要修改现有template.yml配置,云端部署时不需要做任何调整,可同时满足本地测试与云端上线的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:00:05