本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
使用Java SDK发起SMQ请求,您需要配置接入点及访问凭证。阿里云服务会通过访问凭证验证您的身份信息和访问权限。您可以根据使用场景对认证和授权的要求,选择不同类型的访问凭证。本文介绍如何配置接入点、临时访问凭证、长期访问凭证。
配置访问域名
将SMQ公网或内网接入点信息配置在aliyun-mns.properties文件中,该文件一般位于${user.home}/.aliyun-mns.properties。
在Linux和macOS操作系统中,aliyun-mns.properties文件位于~/.aliyun-mns.properties。
在Windows操作系统中,aliyun-mns.properties文件位于%USERPROFILE%\.aliyun-mns.properties。
aliyun-mns.properties文件配置如下:
mns.accountendpoint=http://120228xxxxxxx.mns.cn-xxxxxx.aliyuncs.com关于SMQ的接入点信息,您可以在控制台的队列详情/主题详情页面的接入点区域查看。
配置访问凭证
您可以选择以下类型的访问凭证。
- 长期访问凭证:出于安全性考虑,不建议您使用长期访问凭证,建议您使用临时访问凭证。对于需要便利性的场景,长期访问凭证可以在较长时间内免除多次刷新的麻烦。建议每三个月更换一次长期访问凭证,以提高账号的安全性。当长期访问凭证泄露或者不再使用时,应该及时删除或者禁用相关的访问凭证,以免造成安全风险。 
- 临时访问凭证:对于需要高安全性的场景,例如临时授权应用访问SMQ,建议使用临时访问凭证。临时访问凭证可以限制访问的有效期,从而减少访问凭证泄露的风险。此外,临时访问凭证支持权限控制,可以有效地避免权限过大的问题。 
使用长期访问凭证
当您准备在应用或服务中长期使用Java SDK访问SMQ服务时,您可以通过以下方式配置长期访问凭证。
配置RAM用户的访问密钥:如果您需要长期访问您的SMQ,您可以通过RAM用户的访问密钥的方式访问您的SMQ。
- 获取RAM用户的访问密钥。 - 如何获取RAM用户的访问密钥,请参见创建RAM用户的AccessKey。 重要- 对于超过3个月的RAM用户的访问密钥,建议及时轮换。对于长期不用的RAM用户的访问密钥,建议及时禁用并删除。以降低RAM用户的访问密钥被泄露的风险。 
- 配置RAM用户的访问密钥。 - 环境变量- 配置环境变量。 - macOS- 打开终端。 
- 执行以下命令。 - nano ~/.bash_profile
- 在文件末尾添加RAM用户的访问密钥。 - export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****
- 按 - Ctrl+- X,按- Y键确认保存,然后按- Enter键退出文件。
- 输入以下命令以使更改生效。 - source ~/.bash_profile
- 执行以下命令验证环境变量配置。 - echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET- 成功返回示例如下: - LTA**** moiEs****
 - Linux- 打开终端。 
- 执行以下命令。 - sudo vim /etc/profile
- 在文件末尾添加RAM用户的访问密钥。 - export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****
- 按 - ESC键退出编辑模式,输入- :wq,然后按- Enter键保存并退出文件。
- 输入以下命令以使更改生效。 - source /etc/profile
- 执行以下命令验证环境变量配置。 - echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET- 成功返回示例如下: - LTA**** moiEs****
 - Windows- 通过图形化用户界面GUI- 以Windows 10为例,通过图形化用户界面以环境变量的方式设置RAM用户访问密钥的步骤如下: - 在桌面右键单击此电脑,选择。 
- 添加以下环境变量。 - 变量名 - 示例值 - ALIBABA_CLOUD_ACCESS_KEY_ID - LTA**** - ALIBABA_CLOUD_ACCESS_KEY_SECRET - moiEs**** 
- 执行以下命令验证环境变量配置。 - echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET- 成功返回示例如下: - LTA**** moiEs****
 - 通过命令行提示符CMD- 打开命令行。 
- 执行以下命令配置RAM用户的访问密钥。 - set ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** set ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****
- 执行以下命令以使更改生效。 - setx ALIBABA_CLOUD_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx ALIBABA_CLOUD_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%"
- 执行以下命令验证环境变量配置。 - echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%- 成功返回示例如下: - LTA**** moiEs****
 - 通过Windows PowerShell- 按下键盘上的 - Win + X组合键。
- 设置RAM用户的访问密钥。 - 仅当前会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为当前会话添加以下环境变量。 - $env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTA****" $env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "moiEs****"
 - 对所有新会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为所有新会话添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User)
 - 对所有用户有效- 在弹出的菜单中,选择Windows PowerShell(管理员)。 
- 为所有用户添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine)
 
- 执行以下命令验证环境变量配置。 - Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRET- 成功返回示例如下: - LTA**** moiEs****
 
- 从环境变量中获取RAM用户的访问密钥。 - // 使用环境变量中获取的RAM用户的访问密钥配置访问凭证。 CloudAccount account = new CloudAccount(ServiceSettings.getMNSAccountEndpoint());
 - 代码嵌入警告- 在代码中嵌入访问凭证会导致安全问题。如果访问凭证被泄漏,攻击者就可以使用该访问凭证来访问您的资源SMQ,造成损失。因此,建议您使用更安全的方式,例如从环境变量中获取访问凭证,来提高安全性。 - CloudAccount account = new CloudAccount(ServiceSettings.getMNSAccountEndpoint());
使用临时访问凭证
当您准备临时使用Java SDK访问SMQ服务时,您可以选择以下方式配置临时访问凭证。
- 配置STS临时访问凭证:如果您需要在规定时间内访问您的SMQ,您可以通过STS服务颁发一个STS临时访问凭证。临时访问凭证无需透露您的RAM用户访问密钥,使您的SMQ访问更加安全。 
- 配置RAM角色:如果您需要授权访问或跨账号访问SMQ,您可以通过RAM用户扮演对应的RAM角色的方式授权访问或跨账号访问SMQ。 
- 配置ECS的RAM角色:如果您需要在阿里云的云服务器ECS中访问您的SMQ,您可以通过ECS实例RAM角色的方式访问SMQ。实例RAM角色允许您将一个角色关联到云服务器实例,在实例内部基于STS临时凭证通过指定方法访问SMQ。STS临时凭证由系统自动生成和更新,应用程序可以使用指定的实例元数据URL获取临时凭证,无需特别管理。 
配置STS临时访问凭证
- 创建RAM用户。 - 具体操作,请参见创建RAM用户。 
- 为RAM用户授予 - AliyunSTSAssumeRoleAccess权限。- 具体操作,请参见为RAM用户授权。 
- 使用RAM用户调用STS服务的AssumeRole接口获取STS临时访问凭证。 - 具体操作,请参见AssumeRole。 
- 配置STS临时访问凭证。 - 环境变量- 使用获取的STS临时访问凭证配置环境变量。 - macOS- 打开终端。 
- 执行以下命令。 - nano ~/.bash_profile
- 在文件末尾添加从STS服务获取的临时访问凭证(包括AccessKeyId、AccessKeySecret、SecurityToken)。 - export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES****
- 按 - Ctrl+- X,按- Y键确认保存,然后按- Enter键退出文件。
- 执行以下命令以使更改生效。 - source ~/.bash_profile
- 执行以下命令验证环境变量配置。 - echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKEN- 成功返回示例如下: - LTA**** moiEs**** CAES****
 - Linux- 打开终端。 
- 执行以下命令。 - sudo vim /etc/profile
- 在文件末尾添加从STS服务获取的临时访问凭证(包括AccessKeyId、AccessKeySecret、SecurityToken)。 - export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES****
- 按 - ESC键退出编辑模式,输入- :wq,然后按- Enter键保存并退出文件。
- 执行以下命令以使更改生效。 - source /etc/profile
- 执行以下命令验证环境变量配置。 - echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKEN- 成功返回示例如下: - LTA**** moiEs**** CAES****
 - Windows- 通过图形化用户界面GUI- 以Windows 10为例,通过图形化用户界面以环境变量的方式设置STS临时访问凭证的步骤如下: - 在桌面右键单击此电脑,选择。 
- 添加以下环境变量。 - 变量名 - 示例值 - MNS_ACCESS_KEY_ID - LTA**** - MNS_ACCESS_KEY_SECRET - moiEs**** - MNS_SESSION_TOKEN - CAES**** 
- 执行以下命令验证环境变量配置。 - echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%- 成功返回示例如下: - LTA**** moiEs**** CAES****
 - 通过命令行提示符CMD- 打开命令行。 
- 执行以下命令配置从STS服务获取的临时访问凭证(包括AccessKeyId、AccessKeySecret、SecurityToken)。 - set MNS_ACCESS_KEY_ID=LTA**** set MNS_ACCESS_KEY_SECRET=moiEs**** set MNS_SESSION_TOKEN=CAES****
- 执行以下命令以使更改生效。 - setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_SESSION_TOKEN "%MNS_SESSION_TOKEN%"
- 执行以下命令验证环境变量配置。 - echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%- 成功返回示例如下: - LTA**** moiEs**** CAES****
 - 通过Windows PowerShell- 按下键盘上的 - Win + X组合键。
- 设置STS临时访问凭证。 - 仅当前会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为当前会话添加以下环境变量。 - $env:MNS_ACCESS_KEY_ID = "LTA****" $env:MNS_ACCESS_KEY_SECRET = "moiEs****" $env:MNS_SESSION_TOKEN = "CAE****"
 - 对所有新会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为所有新会话添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::User)
 - 对所有用户有效- 在弹出的菜单中,选择Windows PowerShell(管理员)。 
- 为所有用户添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::Machine)
 
- 执行以下命令验证环境变量配置。 - Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_SESSION_TOKEN- 成功返回示例如下: - LTA**** moiEs**** CAES****
 
- 从环境变量中获取STS临时访问凭证。 - // 从环境变量中获取RAM用户的临时访问密钥(AccessKey ID、AccessKey Secret和SecurityToken)。 String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); String sessionToken = System.getenv("MNS_SESSION_TOKEN"); AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials);
 - 代码嵌入警告- 在代码中嵌入访问凭证会导致安全问题。如果访问凭证被泄漏,攻击者就可以使用该访问凭证来访问您的资源MNS,造成损失。因此,建议您使用更安全的方式,例如从环境变量中获取访问凭证,来提高安全性。 - // 从环境变量中获取RAM用户的临时访问密钥(AccessKey ID、AccessKey Secret和SecurityToken)。 String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); String sessionToken = System.getenv("MNS_SESSION_TOKEN"); AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider);
配置RAM角色
- 获取RAM用户的访问密钥。 - 具体操作,请参见创建RAM用户的AccessKey。 重要- 为降低RAM用户的访问密钥被泄露的风险,对于超过3个月的RAM用户的访问密钥,建议及时轮换。对于长期不用的RAM用户的访问密钥,建议及时禁用并删除。 
- 获取目标RAM角色的RamRoleArn。 说明- RamRoleArn是RAM角色的ARN信息,即需要扮演的角色ID。格式为acs:ram::$accountID:role/$roleName。$accountID为阿里云账号ID。$roleName为RAM角色名称。 - 具体操作,请参见查看RAM角色。 
- 配置RAM用户的访问密钥和目标RAM角色的RAMRoleArn作为访问凭证。 - 环境变量- 使用获取的RAM用户的访问密钥和目标RAM角色的RamRoleArn配置环境变量。 - macOS- 打开终端。 
- 执行以下命令。 - nano ~/.bash_profile
- 在文件末尾添加获取的RAM用户的访问密钥和RAM角色的RamRoleArn。 - export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest
- 按 - Ctrl+- X,按- Y键确认保存,然后按- Enter键退出文件。
- 执行以下命令以使更改生效。 - source /etc/profile
- 执行以下命令验证环境变量配置。 - echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARN- 成功返回示例如下: - LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
 - Linux- 打开终端。 
- 执行以下命令。 - sudo vim /etc/profile
- 在文件末尾添加获取的RAM用户的访问密钥和RAM角色的RamRoleArn。 - export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest
- 按 - ESC键退出编辑模式,输入- :wq,然后按- Enter键保存并退出文件。
- 执行以下命令以使更改生效。 - source /etc/profile
- 执行以下命令验证环境变量配置。 - echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARN- 成功返回示例如下: - LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
 - Windows- 通过图形化用户界面GUI- 以Windows 10为例,通过图形化用户界面以环境变量的方式设置RAM用户的访问密钥和目标RAM角色的RAMRoleArn步骤如下: - 在桌面右键单击此电脑,选择。 
- 添加以下环境变量。 - 变量名 - 示例值 - MNS_ACCESS_KEY_ID - LTAI**** - MNS_ACCESS_KEY_SECRET - IrVTNZNy**** - MNS_STS_ROLE_ARN - acs:ram::17464958********:role/mnsststest 
- 执行以下命令验证环境变量配置。 - echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARN- 成功返回示例如下: - LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
 - 通过命令行提示符CMD- 打开命令行。 
- 执行以下命令配置RAM用户的访问密钥和RAM角色的RamRoleArn。 - set MNS_ACCESS_KEY_ID=LTAI**** set MNS_ACCESS_KEY_SECRET=IrVTNZNy**** set MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststest
- 执行以下命令以使更改生效。 - setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_STS_ROLE_ARN "%MNS_STS_ROLE_ARN%"
- 执行以下命令验证环境变量配置。 - echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_STS_ROLE_ARN%- 成功返回示例如下: - LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
 - 通过Windows PowerShell- 按下键盘上的 - Win + X组合键。
- 设置RAM用户的访问密钥和目标RAM角色的RAMRoleArn。 - 仅当前会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为当前会话添加以下环境变量。 - $env:MNS_ACCESS_KEY_ID = "LTAI****" $env:MNS_ACCESS_KEY_SECRET = "IrVTNZNy****" $env:MNS_STS_ROLE_ARN = "acs:ram::17464958********:role/ossststest"
 - 对所有新会话有效- 在弹出的菜单中,选择Windows PowerShell。 
- 为所有新会话添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::User)
 - 对所有用户有效- 在弹出的菜单中,选择Windows PowerShell(管理员)。 
- 为所有用户添加以下环境变量。 - [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::Machine)
 
- 执行以下命令验证环境变量配置。 - Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_STS_ROLE_ARN- 成功返回示例如下: - LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
 
- 从环境变量中获取RAM用户的访问密钥RAM角色的RamRoleArn。 - // 授权STSAssumeRole访问的Region。以华东1(杭州)为例,其它Region请根据实际情况填写。 String region = "cn-hangzhou"; // 从环境变量中获取RAM用户的访问密钥(AccessKey ID和AccessKey Secret)。 String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); // 从环境变量中获取RAM角色的RamRoleArn。 String roleArn = System.getenv("MNS_STS_ROLE_ARN"); // 使用环境变量中获取的RAM用户的访问密钥和RAM角色的RamRoleArn配置访问凭证。 STSAssumeRoleSessionCredentialsProvider credentialsProvider = CredentialsProviderFactory .newSTSAssumeRoleSessionCredentialsProvider( region, accessKeyId, accessKeySecret, roleArn );
 - 代码嵌入警告- 在代码中嵌入访问凭证会导致安全问题。如果访问凭证被泄漏,攻击者就可以使用该访问凭证来访问您的资源OSS,造成损失。因此,建议您使用更安全的方式,例如从环境变量中获取访问凭证,来提高安全性。 - // 这个region Id和mns endpoint为一个region。 String regionId = "cn-hangzhou"; // 从环境变量中获取RAM用户的访问密钥(AccessKey ID和AccessKey Secret)。 String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); // 从环境变量中获取RAM角色的RamRoleArn。 String roleArn = System.getenv("MNS_STS_ROLE_ARN"); DefaultProfile profile = DefaultProfile.getProfile(regionId); AlibabaCloudCredentialsProvider provider = new STSAssumeRoleSessionCredentialsProvider( new BasicCredentials(accessKeyId, accessKeySecret), roleArn, profile ); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider);
配置ECS的RAM角色
- 为ECS实例授予RAM角色。 - 具体操作,请参见授予实例RAM角色。 
- 配置ECS的RAM角色作为访问凭证。 - // 通过ECS RAM角色获取访问凭证,例如以角色名(ecs-ram-role)访问为例。 CredentialsProvider provider = new InstanceProfileCredentialsProvider("ecs-ram-role");