查找和更改 AWS SDK 和工具的共享 config 和 credentials 文件的位置 - AWS SDK 和工具

查找和更改 AWS SDK 和工具的共享 configcredentials 文件的位置

共享的 AWS configcredentials 文件属于纯文本文件,其中包含 AWS SDK 和工具的配置信息。这些文件在您的环境中本地保存,由您在该环境中运行的 SDK 代码或 AWS CLI 命令自动使用。例如,在您自己的计算机上或在 Amazon Elastic Compute Cloud 实例上开发时。

当 SDK 或工具运行时,将会检查这些文件并加载所有可用的配置设置。如果这些文件尚不存在,则 SDK 或工具会自动创建一个基础文件。

默认情况下,这些文件位于您的 home 或用户文件夹下名为 .aws 的文件夹中。

操作系统 文件的默认位置和名称
Linux 和 macOS

~/.aws/config

~/.aws/credentials

Windows

%USERPROFILE%\.aws\config

%USERPROFILE%\.aws\credentials

主目录解析

~ 仅在下列情况下才用于主目录解析:

  • 作为路径的开始

  • 其后紧接 / 或平台特定的分隔符。在 Windows 上,~/~\ 都会解析到主目录。

在确定主目录时,系统会检查以下变量:

  • (所有平台)HOME 环境变量

  • (Windows 平台)USERPROFILE 环境变量

  • (Windows 平台)HOMEDRIVEHOMEPATH 环境变量的串连($HOMEDRIVE$HOMEPATH

  • (可选,根据 SDK 或工具)特定于 SDK 或工具的主路径解析函数或变量

如有可能,如果在路径开头指定了用户的主目录(例如,~username/),则会将其解析到请求的用户名的起始目录(例如,/home/username/.aws/config)。

更改这些文件的默认位置

您可以使用以下任一方法来覆盖 SDK 或工具加载这些文件的位置。

使用环境变量

可以设置以下环境变量,将这些文件的位置或名称从默认值更改为自定义值:

  • config 文件环境变量:AWS_CONFIG_FILE

  • credentials 文件环境变量:AWS_SHARED_CREDENTIALS_FILE

Linux/macOS

您可以通过在 Linux 或 macOS 上运行以下导出命令来指定备用位置。

$ export AWS_CONFIG_FILE=/some/file/path/on/the/system/config-file-name $ export AWS_SHARED_CREDENTIALS_FILE=/some/other/file/path/on/the/system/credentials-file-name
Windows

您可以通过在 Windows 上运行以下setx命令来指定备用位置。

C:\> setx AWS_CONFIG_FILE c:\some\file\path\on\the\system\config-file-name C:\> setx AWS_SHARED_CREDENTIALS_FILE c:\some\other\file\path\on\the\system\credentials-file-name

有关使用环境变量配置系统的更多信息,请参阅使用环境变量进行 AWS SDK 和工具全局配置

使用 JVM 系统属性

对于在 JVM 上运行的适用于 Kotlin 的 SDK 以及适用于 Java 的 SDK 2.x,您可以通过设置以下 JVM 系统属性,将这些文件的位置或名称从默认值更改为自定义值:

  • config 文件 JVM 系统属性:aws.configFile

  • credentials 文件环境变量:aws.sharedCredentialsFile

有关如何设置 JVM 系统属性的说明,请参阅如何设置 JVM 系统属性。适用于 Java 的 SDK 1.x 不支持这些系统属性。