小编Jér*_*émy的帖子

使用 AWS 无服务器应用程序模型和 localstack 在本地测试 Go Lambda

我正在尝试在本地测试一个 lambda 函数,该函数在 S3 存储桶上列出存储桶。

为了拥有本地 S3 存储桶进行测试,我使用 localstack:

docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack
Run Code Online (Sandbox Code Playgroud)

然后我可以创建一个存储桶(它有效):

aws s3api --endpoint-url=http://localhost:4566  --region us-east-1 create-bucket --bucket images
Run Code Online (Sandbox Code Playgroud)

然后我有一个 lambda 尝试连接到 S3 并列出存储桶:

docker run --rm -it -p 4566:4566 -p 4510-4559:4510-4559 localstack/localstack
Run Code Online (Sandbox Code Playgroud)

为了在本地测试我的 lambda,我使用 SAM。这是模板:

aws s3api --endpoint-url=http://localhost:4566  --region us-east-1 create-bucket --bucket images
Run Code Online (Sandbox Code Playgroud)

当我执行 lambda 时:

sam local invoke AdBannerLambda  -e test_data/payload.json
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

START RequestId: 7c9da60f-9a68-476b-bcd8-c24da422e80c Version: $LATEST
Got an error retrieving buckets:
operation error S3: ListBuckets, exceeded maximum number of …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 go aws-lambda aws-sam localstack

5
推荐指数
0
解决办法
415
查看次数

标签 统计

amazon-s3 ×1

aws-lambda ×1

aws-sam ×1

go ×1

localstack ×1