SDK集成示例
本文為您介紹如何通過(guò)SDK調(diào)用OpenAPI查詢指定地域的實(shí)例列表。
查看OpenAPI文檔
閱讀API概覽,選擇可以查詢指定地域?qū)嵗斜淼?span id="z68uejxpaoma" class="help-letter-space">OpenAPI:DescribeDBInstances - 查詢MongoDB實(shí)例列表。根據(jù)接口文檔,了解調(diào)用該接口需要的參數(shù)及權(quán)限。
創(chuàng)建RAM用戶并授權(quán)
身份
您可以使用阿里云賬號(hào)(主賬號(hào))、RAM用戶、RAM角色調(diào)用該接口,有關(guān)各種身份的差異請(qǐng)參見身份、憑據(jù)、授權(quán)。本案例中,我們使用RAM用戶進(jìn)行接口調(diào)用。登錄RAM訪問(wèn)控制,創(chuàng)建一個(gè)僅允許API調(diào)用的RAM用戶,記錄AK信息,更多詳情請(qǐng)參見創(chuàng)建RAM用戶。
授權(quán)
訪問(wèn)RAM用戶列表,單擊目標(biāo)RAM用戶操作列的添加權(quán)限。
在權(quán)限策略區(qū)塊中輸入關(guān)鍵字
MongoDB
進(jìn)行搜索,選擇需要授權(quán)的策略。說(shuō)明AliyunMongoDBFullAccess:管理云數(shù)據(jù)庫(kù)服務(wù)(MongoDB)的權(quán)限。
AliyunMongoDBReadOnlyAccess:只讀訪問(wèn)云數(shù)據(jù)庫(kù)服務(wù)(MongoDB)的權(quán)限。
如何新建自定義權(quán)限,請(qǐng)參見授權(quán)信息。
單擊確認(rèn)新增授權(quán),完成授權(quán)操作。
憑據(jù)
在創(chuàng)建RAM用戶時(shí)會(huì)默認(rèn)生成一個(gè)AccessKey,可直接使用。您也可進(jìn)入到對(duì)應(yīng)的RAM用戶詳情頁(yè),在認(rèn)證管理頁(yè)簽,單擊創(chuàng)建 AccessKey。具體操作,請(qǐng)參見創(chuàng)建AccessKey。
調(diào)用OpenAPI
本文使用Java語(yǔ)言SDK。
配置環(huán)境變量
通過(guò)在環(huán)境變量中設(shè)置AccessKey信息避免在代碼中直接硬編碼AccessKey給業(yè)務(wù)帶來(lái)安全風(fēng)險(xiǎn)。
配置環(huán)境變量的方法,請(qǐng)參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
下載示例代碼
訪問(wèn)DescribeDBInstances。
在左側(cè)的參數(shù)配置頁(yè)簽,填寫參數(shù)信息。
RegionId: 地域ID,填寫表示查詢指定地域的實(shí)例列表。
在右側(cè)的SDK示例頁(yè)簽,SDK版本選擇v2.0,語(yǔ)言選擇Java語(yǔ)言,單擊下載完整工程按鈕,下載示例代碼包。
本地解壓并進(jìn)入alibabacloud_sample目錄。
打開并運(yùn)行項(xiàng)目
使用IntelliJ IDEA加載項(xiàng)目,待相關(guān)依賴加載完畢后,打開 src/main/java/com/aliyun/sample/Sample.java。根據(jù)代碼中的注釋提示自行添加打印返回值的代碼。
單擊IDE右上角的運(yùn)行按鈕,可查看輸出日志。本案例中的返回內(nèi)容如下:
{
"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
}
}