

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

# 凭证提供程序更改
<a name="migration-client-credentials"></a>

本部分提供了适用于 Java 的 AWS SDK 1.x 与 2.x 版之间的凭证提供程序类和方法名称更改的映射。

## 显著差异
<a name="client-credentials"></a>
+ 在版本 2.x 中，默认凭证提供程序会在加载环境变量之前先加载系统属性。有关更多信息，请参阅[使用凭证](credentials.md)。
+ 构造函数方法已被替换为 `create` 或 `builder` 方法。  
**Example**  

  ```
  DefaultCredentialsProvider.create();
  ```
+ 默认情况下，不再设置异步刷新。您必须使用凭证提供程序的 `builder` 指定它。  
**Example**  

  ```
  ContainerCredentialsProvider provider = ContainerCredentialsProvider.builder()
          		.asyncCredentialUpdateEnabled(true)
          		.build();
  ```
+ 您可以使用 `ProfileCredentialsProvider.builder()` 指定自定义配置文件的路径。  
**Example**  

  ```
  ProfileCredentialsProvider profile = ProfileCredentialsProvider.builder()
          		.profileFile(ProfileFile.builder().content(Paths.get("myProfileFile.file")).build())
          		.build();
  ```
+ 配置文件格式已更改，以更贴近于 AWS CLI。有关详细信息，请参阅《AWS Command Line Interface 用户指南》**中的[配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

## 版本 1.x 与 2.x 之间的凭证提供程序更改映射
<a name="credentials-changes-mapping"></a>

### `AWSCredentialsProvider`
<a name="credentials-provider-changes-AWSCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.AWSCredentialsProvider | software.amazon.awssdk.auth.credentials.AwsCredentialsProvider | 
| 方法名称 | getCredentials | resolveCredentials | 
| 不受支持的方法 | refresh | 不支持 | 

### `DefaultAWSCredentialsProviderChain`
<a name="credentials-provider-changes-DefaultAWSCredentialsProviderChain"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.DefaultAWSCredentialsProviderChain | software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider | 
| 创建 | new DefaultAWSCredentialsProviderChain | DefaultCredentialsProvider.create | 
| 不受支持的方法 | getInstance | 不支持 | 
| 外部设置的优先顺序 |  环境变量在系统属性之前  |  系统属性在环境变量之前  | 

### `AWSStaticCredentialsProvider`
<a name="credentials-provider-changes-AWSStaticCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.AWSStaticCredentialsProvider | software.amazon.awssdk.auth.credentials.StaticCredentialsProvider | 
| 创建 | new AWSStaticCredentialsProvider | StaticCredentialsProvider.create | 

### `EnvironmentVariableCredentialsProvider`
<a name="credentials-provider-changes-EnvironmentVariableCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.EnvironmentVariableCredentialsProvider | software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider | 
| 创建 | new EnvironmentVariableCredentialsProvider | EnvironmentVariableCredentialsProvider.create | 
| 环境变量名称 | AWS\$1ACCESS\$1KEY | AWS\$1ACCESS\$1KEY\$1ID | 
|  | AWS\$1SECRET\$1KEY | AWS\$1SECRET\$1ACCESS\$1KEY | 

### `SystemPropertiesCredentialsProvider`
<a name="credentials-provider-changes-SystemPropertiesCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.SystemPropertiesCredentialsProvider | software.amazon.awssdk.auth.credentials.SystemPropertyCredentialsProvider | 
| 创建 | new SystemPropertiesCredentialsProvider | SystemPropertiesCredentialsProvider.create | 
| 系统属性名称 | aws.secretKey | aws.secretAccessKey | 

### `ProfileCredentialsProvider`
<a name="credentials-provider-changes-ProfileCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.profile.ProfileCredentialsProvider | software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider | 
| 创建 | new ProfileCredentialsProvider | ProfileCredentialsProvider.create | 
| 自定义配置文件的位置 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sdk-for-java/latest/developer-guide/migration-client-credentials.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sdk-for-java/latest/developer-guide/migration-client-credentials.html)  | 

### `ContainerCredentialsProvider`
<a name="credentials-provider-changes-ContainerCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.ContainerCredentialsProvider | software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider | 
| 创建 | new ContainerCredentialsProvider | ContainerCredentialsProvider.create | 
| 指定异步刷新 | 不支持 | 默认行为 | 

### `InstanceProfileCredentialsProvider`
<a name="credentials-provider-changes-InstanceProfileCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.InstanceProfileCredentialsProvider | software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider | 
| 创建 | new InstanceProfileCredentialsProvider | InstanceProfileCredentialsProvider.create | 
| 指定异步刷新 | new InstanceProfileCredentialsProvider(true) |  `InstanceProfileCredentialProvider.builder().asyncCredentialUpdateEnabled(true).build()`  | 
| 系统属性名称 | com.amazonaws.sdk.disableEc2Metadata | aws.disableEc2Metadata | 
|  | com.amazonaws.sdk.ec2MetadataServiceEndpointOverride | aws.ec2MetadataServiceEndpoint | 

### `STSAssumeRoleSessionCredentialsProvider`
<a name="credentials-provider-changes-STSAssumeRoleSessionCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider | software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider | 
| 创建 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sdk-for-java/latest/developer-guide/migration-client-credentials.html)  | StsAssumeRoleCredentialsProvider.builder | 
| 异步刷新 | 默认行为 | 默认行为 | 
| 配置 | new STSAssumeRoleSessionCredentialsProvider.Builder | 配置 StsClient 和 AssumeRoleRequest 请求 | 

### `STSSessionCredentialsProvider`
<a name="credentials-provider-changes-STSSessionCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.STSSessionCredentialsProvider | software.amazon.awssdk.services.sts.auth.StsGetSessionTokenCredentialsProvider | 
| 创建 |  `new STSSessionCredentialsProvider`  | StsGetSessionTokenCredentialsProvider.builder | 
| 异步刷新 | 默认行为 | StsGetSessionTokenCredentialsProvider.builder | 
| 配置 | 构造函数参数 | 在生成器中配置 StsClient 和 GetSessionTokenRequest 请求 | 

### `WebIdentityFederationSessionCredentialsProvider`
<a name="credentials-provider-changes-WebIdentityFederationSessionCredentialsProvider"></a>


| 更改类别 | 1.x | 2.x | 
| --- | --- | --- | 
| 软件包/类名称 | com.amazonaws.auth.WebIdentityFederationSessionCredentialsProvider | software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider | 
| 创建 |  `new WebIdentityFederationSessionCredentialsProvider`  | StsAssumeRoleWithWebIdentityCredentialsProvider.builder | 
| 异步刷新 | 默认行为 | StsAssumeRoleWithWebIdentityCredentialsProvider.builder | 
| 配置 | 构造函数参数 | 在生成器中配置 StsClient 和 AssumeRoleWithWebIdentityRequest 请求 | 

### 已替换的类
<a name="credentials-provider-changes-Replacements"></a>


| 1.x 类 | 2.x 替换类 | 
| --- | --- | 
| com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper | software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider 和 software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider | 
| com.amazonaws.services.s3.S3CredentialsProviderChain | software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider 和 software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider | 

### 已移除的类
<a name="credentials-provider-changes-Removed"></a>


| 1.x 类 | 
| --- | 
| com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider | 
| com.amazonaws.auth.PropertiesFileCredentialsProvider | 