Boto3:配置文件位置

Boto3: Configuration file location

有什么方法可以让 Boto 查找默认位置以外的配置文件,即 ~/.aws

是的,您可以将配置文件(用于本机上所有用户将使用的站点范围设置)安装在:

nano /etc/boto.cfg
[Credentials]
aws_access_key_id = your_key
aws_secret_access_key = your_password

其他可能的位置可能是:

  • (如果提供了配置文件)~/.aws/credentials SDK 之间共享的凭据
  • (如果提供了配置文件)~/.boto 用户特定设置
  • ~/.aws/credentials 用于在 SDK 之间共享凭据
  • ~/.boto 用户特定设置

从问题中看不出你说的是boto还是boto3。两者都允许您使用环境变量来告诉它在哪里查找凭据和配置文件,但环境变量不同。

在 boto3 中,您可以使用环境变量 AWS_SHARED_CREDENTIALS_FILE 来告诉 boto3 您的凭证文件在哪里(默认情况下,它在 ~/.aws/credentials 中)。您可以使用 AWS_CONFIG_FILE 来告诉它你的配置文件在哪里(默认情况下,它在 ~/.aws/config.

在 boto 中,您可以使用 BOTO_CONFIG 告诉 boto 在哪里可以找到它的配置文件(默认情况下它在 /etc/boto.cfg~/.boto.

是的,你可以:

来自 boto3 documentation

  • 在 boto.client() 方法中将凭据作为参数传递
  • 创建会话对象时将凭据作为参数传递
  • 环境变量
  • 共享凭证文件(~/.aws/credentials)
  • AWS 配置文件 (~/.aws/config)
  • 担任提供者角色
  • Boto2 配置文件(/etc/boto.cfg 和 ~/.boto)
  • 配置了 IAM 角色的 Amazon EC2 实例上的实例元数据服务。

请查看link了解更多信息。