本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置文件更改
AWS SDK for Java 2.x 解析 ~/.aws/config 和 ~/.aws/credentials 中的配置文件定义,以便更贴近地模拟 AWS CLI 解析文件的方式。
适用于 Java 的 SDK 2.x:
-
通过按顺序检查
$HOME、$USERPROFILE(仅 Windows)、$HOMEDRIVE、$HOMEPATH(仅 Windows),然后检查user.home系统属性,来解析路径开头处的~/或~(后跟文件系统的默认路径分隔符)。 -
查找
AWS_SHARED_CREDENTIALS_FILE环境变量,而不是查找AWS_CREDENTIAL_PROFILES_FILE。 -
在配置文件中,如果配置项名称开头未包含单词
profile,则静默忽略该配置项定义。 -
静默忽略不包含字母数字、下划线或连接号字符的配置项定义(为配置文件移除了开头的
profile单词之后)。 -
合并同一文件中重复的配置项定义的设置。
-
合并配置文件和凭证文件中重复的配置项定义的设置。
-
如果在同一个文件中找到
[profile foo]和[foo],则不合并设置。 -
如果在配置文件中找到
[profile foo]和[foo],则使用[profile foo]中的设置。 -
使用同一个文件和配置文件中最后一个重复设置的值。
-
认识用于定义注释的
;和#。 -
认识配置项定义中用于定义注释的
;和#,即使这些字符与右括号相邻也要认出来。 -
只有当
;和#前面有空格时,才在设置值中将其视为注释。 -
只有当
;和#前面没有空格时,才在设置值中将这些符号及后面的所有内容视为注释。 -
将基于角色的凭证视为优先级最高的凭证。如果用户指定了
role_arn属性,2.x SDK 将始终使用基于角色的凭证。 -
将基于会话的凭证视为优先级第二高的凭证。如果未使用基于角色的凭证且用户指定了
aws_access_key_id和aws_session_token属性,则 2.x SDK 将始终使用基于会话的凭证。 -
如果未使用基于角色的凭证和基于会话的凭证且用户指定了
aws_access_key_id属性,则使用基本凭证。