本文为您介绍如何通过SDK调用OpenAPI查询指定地域的实例列表。
查看OpenAPI文档
阅读API概览,选择可以查询指定地域实例列表的OpenAPI:DescribeDBInstances - 查询MongoDB实例列表。根据接口文档,了解调用该接口需要的参数及权限。
创建RAM用户并授权
身份
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。登录RAM访问控制,创建一个仅允许API调用的RAM用户,记录AK信息,更多详情请参见创建RAM用户。
授权
凭据
在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可进入到对应的RAM用户详情页,在认证管理页签,单击创建 AccessKey。具体操作,请参见创建AccessKey。
调用OpenAPI
本文使用Java语言SDK。
配置环境变量
通过在环境变量中设置AccessKey信息避免在代码中直接硬编码AccessKey给业务带来安全风险。
配置环境变量的方法,请参见在Linux、macOS和Windows系统配置环境变量。
下载示例代码
在左侧的参数配置页签,填写参数信息。
RegionId: 地域ID,填写表示查询指定地域的实例列表。
在右侧的SDK示例页签,SDK版本选择v2.0,语言选择Java语言,单击下载完整工程按钮,下载示例代码包。
本地解压并进入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
}
}