SDK集成示例

本文为您介绍如何通过SDK调用OpenAPI查询指定地域的实例列表。

查看OpenAPI文档

阅读API概览,选择可以查询指定地域实例列表的OpenAPI:DescribeDBInstances - 查询MongoDB实例列表。根据接口文档,了解调用该接口需要的参数及权限。

创建RAM用户并授权

身份

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。登录RAM访问控制,创建一个仅允许API调用的RAM用户,记录AK信息,更多详情请参见创建RAM用户

授权

  1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

  2. 权限策略区块中输入关键字MongoDB进行搜索,选择需要授权的策略。

    说明

    AliyunMongoDBFullAccess:管理云数据库服务(MongoDB)的权限。

    AliyunMongoDBReadOnlyAccess:只读访问云数据库服务(MongoDB)的权限。

    如何新建自定义权限,请参见授权信息

  3. 单击确认新增授权,完成授权操作。

凭据

在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可进入到对应的RAM用户详情页,在认证管理页签,单击创建 AccessKey。具体操作,请参见创建AccessKey

调用OpenAPI

本文使用Java语言SDK

配置环境变量

通过在环境变量中设置AccessKey信息避免在代码中直接硬编码AccessKey给业务带来安全风险。

配置环境变量的方法,请参见Linux、macOSWindows系统配置环境变量

下载示例代码

  1. 访问DescribeDBInstances

  2. 在左侧的参数配置页签,填写参数信息。

    • RegionId: 地域ID,填写表示查询指定地域的实例列表。

  3. 在右侧的SDK示例页签,SDK版本选择v2.0,语言选择Java语言,单击下载完整工程按钮,下载示例代码包。

  4. 本地解压并进入alibabacloud_sample目录。

打开并运行项目

使用IntelliJ IDEA加载项目,待相关依赖加载完毕后,打开 src/main/java/com/aliyun/sample/Sample.java。根据代码中的注释提示自行添加打印返回值的代码。

单击IDE右上角的运行按钮,可查看输出日志。本案例中的返回内容如下:

{
  "headers": {
    "access-control-allow-origin": "*",
    "date": "Wed, 26 Jul 2023 05:45:58 GMT",
    "keep-alive": "timeout=25",
    "transfer-encoding": "chunked",
    "vary": "Accept-Encoding",
    "x-acs-request-id": "CF00C412-4BB5-5D02-803C-46D0AF71DC23",
    "connection": "keep-alive",
    "content-type": "application/json;charset=utf-8",
    "access-control-expose-headers": "*",
    "x-acs-trace-id": "48df4a01d258338ee5327a6a48628426"
  },
  "statusCode": 200,
  "body": {
    "DBInstances": {
      "DBInstance": [
        {
          "capacityUnit": "",
          "chargeType": "PostPaid",
          "creationTime": "2023-07-25T06:32:25Z",
          "DBInstanceClass": "mdb.shard.2x.xlarge.d",
          "DBInstanceId": "dds-***",
          "DBInstanceStatus": "Running",
          "DBInstanceStorage": 500,
          "DBInstanceType": "replicate",
          "engine": "MongoDB",
          "engineVersion": "5.0",
          "expireTime": "2999-09-08T16:00Z",
          "kindCode": "18",
          "lockMode": "Unlock",
          "mongosList": { "mongosAttribute": [] },
          "networkType": "VPC",
          "regionId": "cn-shanghai",
          "replicationFactor": "3",
          "resourceGroupId": "rg-***",
          "shardList": { "shardAttribute": [] },
          "storageType": "cloud_essd1",
          "tags": { "tag": [] },
          "zoneId": "cn-shanghai-m"
        }
      ]
    },
    "pageNumber": 1,
    "pageSize": 30,
    "requestId": "CF00C412-4BB5-5D02-803C-***",
    "totalCount": 3
  }
}