我的代码:sess = session.Must(session.NewSessionWithOptions(session.Options{ Profile: "gms-ai",}))我的~/.aws/config:[default]output = jsonregion = us-east-1[profile gms-ai]output = jsonregion = us-east-2但例如,这是我的部署脚本中的工作片段:AWS_PROFILE=gms-ai \aws lambda update-function-code...看起来像是aws cli确实读取了region但 AWS SDK 忽略了它?
1 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
这是预期的行为。看这里:
默认情况下,SDK 将仅加载共享凭证文件 (~/.aws/credentials) 凭证值,所有其他配置由环境变量、SDK 默认值和用户提供的 aws.Config 值提供。
如果设置了 AWS_SDK_LOAD_CONFIG 环境变量,或者使用 SharedConfigEnable 选项创建会话,则将加载完整的共享配置值。这包括凭据、区域和对承担角色的支持。此外,会话将从共享配置文件 (~/.aws/config) 和共享凭证文件 (~/.aws/credentials) 加载其配置。两个文件具有相同的格式。
因此,只需设置 AWS_SDK_LOAD_CONFIG 环境变量即可读取配置。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消