我正在尝试在本地测试一个 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)