似乎没有配置 AWS 配置文件!无服务器框架错误?

时间:2021-03-10 07:28:26

标签: amazon-web-services aws-lambda serverless-framework

背景:-我有一个网关帐户(没有权限),其中创建了用户,为了访问 aws 资源,我们使用具有管理员访问权限的角色。

配置文件

[profile gateway]
region = ap-southeast-1
output = json

[profile DA]

region = ap-south-1
output = json
role_arn = arn:aws:iam::xxxxxxxxxxxxx:role/jatin
mfa_serial = arn:aws:iam::xxxxxxxxxx:mfa/atin
source_profile = gateway

凭证文件

[gateway]
aws_access_key_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

现在我正在尝试使用无服务器部署 --aws-profile "DA" 来部署我的 lambda,它说 AWS profile "DA" doesn't seem to be configured

但是,如果我运行 aws s3 ls --profile "DA" 它可以完美运行,所以我想配置文件和凭据的配置没有问题

2 个答案:

答案 0 :(得分:4)

这是无服务器的一个已知问题,无服务器仅检查 ~/.aws/credentials 的配置文件,而不检查 ~/.aws/config

有多个关于此的无服务器论坛帖子,e.g. this one

将您的 ~/.aws/credentials 文件更改为此,它应该可以工作:

[gateway]
aws_access_key_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[DA]
aws_access_key_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
role_arn = arn:aws:iam::xxxxxxxxxxxxx:role/jatin
mfa_serial = arn:aws:iam::xxxxxxxxxx:mfa/atin
source_profile = gateway

答案 1 :(得分:1)

更好的解决方案是指定 AWS_SDK_LOAD_CONFIG=1 而不会弄乱您的凭据: AWS_SDK_LOAD_CONFIG=1 sls deploy