“MissingRegion”:找不到区域配置,但我的 ~/.aws.config 中有它

我的代码:


sess = session.Must(session.NewSessionWithOptions(session.Options{

    Profile: "gms-ai",

}))

我的~/.aws/config:


[default]

output = json

region = us-east-1


[profile gms-ai]

output = json

region = us-east-2

但例如,这是我的部署脚本中的工作片段:


AWS_PROFILE=gms-ai \

aws lambda update-function-code...

看起来像是aws cli确实读取了region但 AWS SDK 忽略了它?


鸿蒙传说
浏览 82回答 1
1回答

沧海一幻觉

这是预期的行为。看这里:默认情况下,SDK 将仅加载共享凭证文件 (~/.aws/credentials) 凭证值,所有其他配置由环境变量、SDK 默认值和用户提供的 aws.Config 值提供。如果设置了 AWS_SDK_LOAD_CONFIG 环境变量,或者使用 SharedConfigEnable 选项创建会话,则将加载完整的共享配置值。这包括凭据、区域和对承担角色的支持。此外,会话将从共享配置文件 (~/.aws/config) 和共享凭证文件 (~/.aws/credentials) 加载其配置。两个文件具有相同的格式。因此,只需设置 AWS_SDK_LOAD_CONFIG 环境变量即可读取配置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go