【发布时间】:2022-01-03 00:47:35
【问题描述】:
Boto 和 aws-cli 用户在一系列不同配置文件下的一个或多个文件(例如 ~/.aws/config)中编写 ini 样式的配置。我正在编写一个包装 boto API 调用的库,但我想根据用户的活动配置文件设置(即 AWS_PROFILE 和朋友)更改其行为。
如何以编程方式检索有效用户的配置文件设置(即 boto 默认值,被用户的配置文件设置覆盖,被任何具有优先权的环境变量覆盖)。我对配置文件的“区域”键特别感兴趣,但我怀疑其他键的过程类似。
另一种表述方式是:是否有一个 boto API 调用(或一系列调用)将检索给定 boto 会话的“当前活动/有效”设置?
作为反例:提取用户区域设置的一种非常粗略、脆弱且不正确的方法是检查环境 AWS_PROFILE,查找 ~.aws/config,并从中解析出关键“区域”。我宁愿让 boto 应用它自己的规则,然后提取结果。
【问题讨论】:
-
“检索当前会话的设置”是什么意思?您希望查看文件本身的内容,还是希望使用其中一个配置文件来调用 AWS?随时编辑您的问题,以阐明您在寻找什么。
-
更新问题。我的意思是有效,我并不是要暗示时间约束。例如,s3.create_bucket() uses "us-east-1" 作为主区域。我希望我的库指定一个更接近用户活动区域设置的 LocationConstraint 参数(在调用 create_bucket 时有效),而不强制用户明确重新声明其 ini 文件中已有的内容。跨度>