3 回答
TA贡献1863条经验 获得超2个赞
您可以使用 lambci docker 镜像在本地执行您的代码,使用与 AWS 上使用的相同的 Lambda 运行时。
您也可以在另一个容器中本地运行 dynamo DB
要模拟 Lambda 上可用的凭据/角色,只需通过环境变量传入 Api creds。(对于 s3 访问)
干杯-JH
TA贡献2021条经验 获得超8个赞
您可以按照AWS 文档中的说明在本地下载 AWS lambda 运行时环境
mkdir -p ~/.aws-lambda-rie && curl -Lo ~/.aws-lambda-rie/aws-lambda-rie \
https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie \
&& chmod +x ~/.aws-lambda-rie/aws-lambda-rie
要在本地运行测试 lambda 函数,您可以在终端会话上运行:
~/.aws-lambda-rie/aws-lambda-rie go run main.go
这将启动一个侦听端口 8080 的服务器。要真正触发 lambda 函数,您最终可以在另一个终端会话上运行:
curl -XPOST "http://localhost:8080/2015-03-31/functions/function/invocations" -d '{"Name": "World"}'
最后但同样重要的是,我建议您看看localstack。您可以启动一个在本地运行的 docker 容器,并将模拟 AWS S3 和 DynamoDB API,因此您仍然可以检查代码的正确性,而无需将任何内容部署到 AWS。
TA贡献1802条经验 获得超6个赞
您可以使用这个aws-lambda-go-test模块,它可以在本地运行 lambda 并可用于测试来自 lambda 的实际响应
完全公开我分叉并升级了这个模块
- 3 回答
- 0 关注
- 158 浏览
添加回答
举报