0

我正在尝试通过阿里云提供的API修改经典网络端点的保留时间。我下载了官方Java SDK来访问阿里云ApsaraDB Instance。我正在关注官方文档。

public static void main(String[] args) {
 ModifyInstanceNetExpireTimeRequest request = new ModifyInstanceNetExpireTimeRequest();
 request.setClassicExpiredDays(3);
 request.setConnectionString("<link string>");
 request.setInstanceId("<instance Id>");
 IClientProfile profile
         = DefaultProfile.getProfile("cn-hangzhou", "<Your ak>",
         "<Your sk>");
 IAcsClient client = new DefaultAcsClient(profile);
 try {
     ModifyInstanceNetExpireTimeResponse response
             = client.getAcsResponse(request);
     for (NetInfoItem item:response.getNetInfoItems()) {
         System.out.println(item.getConnectionString());
         System.out.println(item.getPort());
         System.out.println(item.getDBInstanceNetType());
         System.out.println(item.getIPAddress());
         System.out.println(item.getExpiredTime());
     }
 } catch (ServerException e) {
     e.printStackTrace();
 }
 } catch (ClientException e) {
     e.printStackTrace();
 }}

但这会引发您没有足够的权限来更改保留时间。是因为 RAM(资源访问管理)权限吗?

4

1 回答 1

0

是的,它可能是。如果您是 RAM 用户,您应该拥有不受限制的管理员访问权限。另外,看看阿里云安全令牌服务

阿里云安全令牌服务(STS)为阿里云账户(或 RAM 用户)提供短期访问权限管理。通过 STS,您可以为联盟用户(在您的本地帐户系统中管理)颁发访问凭证,该凭证可以自定义过期时长和访问权限。联盟用户可以使用 STS 临时访问凭证直接调用阿里云服务 API 或登录阿里云管理控制台访问认证资源。

尝试这个:

  1. 使用 STS 创建具有一定有效性的令牌,有一个 java 程序可以这样做
  2. 使用生成的令牌在您的 API 中进行修改

让我知道这是怎么回事:)

于 2018-09-28T12:42:49.250 回答