配置文件更改 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置文件更改

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_idaws_session_token 属性,则 2.x SDK 将始终使用基于会话的凭证。

  • 如果未使用基于角色的凭证和基于会话的凭证且用户指定了 aws_access_key_id 属性,则使用基本凭证。