本文為您示範如何通過阿里雲CLI建立一個ApsaraDB for MongoDB複本集執行個體。
如果您還不瞭解阿里雲CLI,請參見文檔什麼是阿里雲CLI。
資源架構
在指定地區建立一個VPC網路和一台交換器,然後建立一個MongoDB複本集執行個體。
安裝CLI
您如果想要在本地安裝和配置CLI,請參見安裝指南。
如果您不想安裝CLI,可以使用阿里雲提供的線上服務Cloud Shell,其中內建了CLI的運行環境。
配置許可權
在本案例中,您需要建立Virtual Private Cloud、交換器(vSwitch)和MongoDB執行個體。預設情況下CLI會直接使用當前登入控制台的使用者憑證,要求目前使用者必須具備以下許可權:
AliyunVPCFullAccess:管理Virtual Private Cloud的許可權。
AliyunMongoDBFullAccess:管理ApsaraDB for MongoDB的許可權。
產生CLI命令樣本
登入OpenAPI門戶。
在頁面上方,單擊選擇雲產品,選擇目標雲產品。
在左側導覽列中,單擊調試。
在API調試介面左側搜尋方塊中可搜尋您需要使用的API。在參數配置中根據API文檔資訊填寫參數,單擊參數配置右側的CLI樣本頁簽即可產生攜帶參數的命令樣本。
單擊運行命令按鈕,可喚出雲命令列Cloud Shell並在其中快速完成命令調試。
單擊複製按鈕,將CLI樣本複製到剪貼簿中,可粘貼至本地Shell工具中運行。
複製CLI樣本到本地Shell工具中進行調試時請注意參數格式。關於阿里雲CLI命令參數使用格式的詳細資料,請參見參數格式說明。
OpenAPI門戶產生樣本中會預設添加
--region
選項,複製命令到本地調用時阿里雲CLI將忽略預設身份憑證配置及環境變數設定中的地區資訊,優先使用指定的地區調用命令,您可根據需要刪除或保留該選項。
調用API
阿里雲CLI中調用RPC API時,基本命令結構如下。
aliyun <product> <APIName> [--parameter1 value1 --parameter2 value2 ...]
product
:需要調用的雲產品code。例如MongoDB的產品code為dds
。APIName
:需要調用的API。例如棄置站台集執行個體需要使用CreateDBInstance
介面。--parameter
:需要傳入的請求參數。
建立VPC
CreateVpc
介面的參數資訊,請參見CreateVpc。
樣本如下:
aliyun vpc CreateVpc --RegionId cn-hangzhou
返回樣本如下:
{
"RequestId": "E8410523-E996-5345-9E4D-35D6C47A****",
"ResourceGroupId": "rg-acfmz7u4zzr****",
"RouteTableId": "vtb-bp1dcxc8j4jys18id****",
"VRouterId": "vrt-bp1w2lsqfm9f7k2dy****",
"VpcId": "vpc-bp191olzz22cgl073****"
}
建立vSwitch
CreateVSwitch
介面的參數資訊,請參見CreateVSwitch。
樣本如下:
aliyun vpc CreateVSwitch --ZoneId cn-hangzhou-i --CidrBlock 172.16.1.0/24 --VpcId vpc-bp191olzz22cgl073****
返回樣本如下:
{
"RequestId": "D3316995-CAB6-58A3-97E5-F1CBFE2E****",
"VSwitchId": "vsw-bp10cm6ujv0na2vlp****"
}
建立MongoDB執行個體
CreateDBInstance
介面的參數資訊,請參見CreateDBInstance。
樣本如下:
aliyun dds CreateDBInstance --RegionId cn-hangzhou --ZoneId cn-hangzhou-i --EngineVersion 7.0 --DBInstanceClass mdb.shard.4x.large.d --DBInstanceStorage 20 --VpcId vpc-bp191olzz22cgl073**** --VSwitchId vsw-bp10cm6ujv0na2vlp****
返回樣本如下:
{
"DBInstanceId": "dds-bp1df136c811****",
"OrderId": "23705179664****",
"RequestId": "1336E68C-86A4-5355-A12A-D0A0C27A****"
}