boto3:找不到配置文件



我正在测试封装在docker映像中的lambda函数,并为lambda函数提供了环境变量AWS_PROFILE=我的配置文件。然而,我得到了一个错误:;无法找到配置配置文件(我的配置文件(";而该信息存在于CCD_ 1和CCD_。以下是我的命令:

docker run -e BUCKET_NAME=my-bucket -e AWS_PROFILE=my-profile-p 9000:8080 <image>:latest lambda_func.handler
curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '"body":{"x":5, "y":6}}'

问题是,如果我只是将lambda函数作为一个单独的python脚本运行,那么它就可以工作了。

有人能告诉我这里出了什么问题吗?感谢

当AWS显示如何使用其容器时,例如对于本地AWS Glue,它们在只读模式下与使用卷选项的容器共享~/.aws/

-v ~/.aws:/root/.aws:ro

因此,如果您希望以AWS为例,您的docker命令可以是:

docker run -e BUCKET_NAME=my-bucket -e AWS_PROFILE=my-profile-p 9000:8080 -v ~/.aws:/root/.aws:ro <image>:latest lambda_func.handler

另一种方法是使用docker环境变量传递AWS凭据,您已经在尝试了。

您需要设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

您的主目录(~(没有复制到Docker容器,因此AWS_PROFILE将不起作用。

有关示例,请参见此处:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html

最新更新