CLI集成示例
阿里云CLI(Alibaba Cloud Command Line Interface)是基于OpenAPI構(gòu)建的通用命令行工具,您可以通過(guò)阿里云CLI實(shí)現(xiàn)自動(dòng)化管理和維護(hù)操作審計(jì)。本文將為您介紹使用阿里云CLI調(diào)用操作審計(jì)的操作步驟和示例。
前置概念
閱讀本文前,若您還不了解阿里云CLI,請(qǐng)參見(jiàn)什么是阿里云CLI。
安裝阿里云CLI
使用阿里云CLI前,您需要先安裝阿里云CLI。阿里云CLI為用戶提供了Windows、Linux和macOS三種操作系統(tǒng)下的安裝服務(wù),請(qǐng)根據(jù)您使用設(shè)備的操作系統(tǒng)選擇對(duì)應(yīng)的安裝服務(wù)。
Windows:在Windows上安裝阿里云CLI。
Linux:在Linux上安裝阿里云CLI。
macOS:在macOS上安裝阿里云CLI。
您也可使用阿里云提供的云命令行Cloud Shell調(diào)試阿里云CLI命令。關(guān)于云命令行的更多信息,請(qǐng)參見(jiàn)什么是云命令行。
配置阿里云CLI
阿里云賬號(hào)(主賬號(hào))擁有所有產(chǎn)品的API管理和訪問(wèn)權(quán)限,風(fēng)險(xiǎn)很高。強(qiáng)烈建議您創(chuàng)建并使用RAM用戶進(jìn)行訪問(wèn)或日常運(yùn)維。
操作步驟
使用阿里云CLI之前,您需要在阿里云CLI中配置身份憑證、地域ID等信息。阿里云CLI支持多種身份憑證,詳情請(qǐng)參見(jiàn)身份憑證類(lèi)型。本文操作以AK類(lèi)型憑證為例,具體操作步驟如下:
您需要?jiǎng)?chuàng)建一個(gè)RAM用戶并根據(jù)需要授予管理對(duì)應(yīng)產(chǎn)品的權(quán)限。具體操作,請(qǐng)參見(jiàn)創(chuàng)建RAM用戶及管理權(quán)限。
創(chuàng)建RAM用戶并授權(quán)后,您需要?jiǎng)?chuàng)建RAM用戶對(duì)應(yīng)的AccessKey,并記錄
AccessKey ID
和AccessKey Secret
,以便后續(xù)配置身份憑證使用。具體操作,請(qǐng)參見(jiàn)創(chuàng)建AccessKey。配置憑證需要設(shè)置地域ID,阿里云CLI將使用您指定的地域發(fā)起API調(diào)用。可用地域請(qǐng)參見(jiàn)服務(wù)接入點(diǎn)。
說(shuō)明使用阿里云CLI過(guò)程中您可使用
--region
選項(xiàng)指定地域發(fā)起命令調(diào)用,該選項(xiàng)在使用時(shí)將忽略默認(rèn)身份憑證配置及環(huán)境變量設(shè)置中的地域信息。詳情請(qǐng)參見(jiàn)API命令可用選項(xiàng)。使用RAM用戶的AccessKey配置AK類(lèi)型憑證,配置文件命名為
AkProfile
。具體操作,請(qǐng)參見(jiàn)配置示例。
生成CLI命令示例
在API調(diào)試界面左側(cè)搜索框中可搜索您需要使用的API。在參數(shù)配置中根據(jù)API文檔信息填寫(xiě)參數(shù),單擊參數(shù)配置右側(cè)的CLI示例頁(yè)簽即可生成攜帶參數(shù)的命令示例。
單擊運(yùn)行命令按鈕,可喚出云命令行Cloud Shell并在其中快速完成命令調(diào)試。
單擊復(fù)制按鈕,將CLI示例復(fù)制到剪貼板中,可粘貼至本地Shell工具中運(yùn)行。
復(fù)制CLI示例到本地Shell工具中進(jìn)行調(diào)試時(shí)請(qǐng)注意參數(shù)格式。關(guān)于阿里云CLI命令參數(shù)使用格式的詳細(xì)信息,請(qǐng)參見(jiàn)參數(shù)格式說(shuō)明。
OpenAPI門(mén)戶生成示例中會(huì)默認(rèn)添加
--region
選項(xiàng),復(fù)制命令到本地調(diào)用時(shí)阿里云CLI將忽略默認(rèn)身份憑證配置及環(huán)境變量設(shè)置中的地域信息,優(yōu)先使用指定的地域調(diào)用命令,您可根據(jù)需要對(duì)該選項(xiàng)進(jìn)行刪除或保留。
調(diào)用API
命令結(jié)構(gòu)
阿里云CLI的通用命令行結(jié)構(gòu)如下。更多詳情,請(qǐng)參見(jiàn)命令結(jié)構(gòu)。
aliyun <command> <subcommand> [options and parameters]
常用命令選項(xiàng)
在阿里云CLI中,您可根據(jù)需要使用命令行選項(xiàng),用來(lái)修改命令的默認(rèn)行為或?yàn)槊钐峁╊~外功能。常用命令行選項(xiàng)如下:
--profile <profileName>
:使用--profile
選項(xiàng)并指定有效配置名稱(chēng)profileName
后,阿里云CLI將忽略默認(rèn)身份憑證配置及環(huán)境變量設(shè)置,優(yōu)先使用指定的配置進(jìn)行命令調(diào)用。--help
:在需要獲取幫助的命令層級(jí)處鍵入--help
選項(xiàng),即可獲取該命令的幫助信息。更多詳情,請(qǐng)參閱獲取幫助信息。
更多詳細(xì)信息,請(qǐng)參閱API命令可用選項(xiàng)。
調(diào)用示例
示例一:以下代碼示例將為您展示如何使用--help
選項(xiàng)獲取操作審計(jì)支持阿里云CLI調(diào)用API列表。您也可在API概覽中查看支持調(diào)用的API。
執(zhí)行命令。
aliyun actiontrail --help
輸出結(jié)果。
示例二:以下代碼示例將為您展示如何使用阿里云CLI調(diào)用操作審計(jì)中的GetTrailStatus
命令,查詢跟蹤狀態(tài)。
執(zhí)行命令。
aliyun actiontrail GetTrailStatus --Name trail-test
輸出結(jié)果。
{ "RequestId": "8067369B-B923-4D26-85BC-61BF33922505", "StartLoggingTime": "2021-02-24T09:19:44Z", "LatestDeliveryError": "write sls failed, exception: the parent of sub user must be project owner, itemscount: 1", "StopLoggingTime": "2021-02-25T09:19:44Z", "IsLogging": true, "LatestDeliveryTime": "2021-02-26T09:19:44Z", "LatestDeliveryLogServiceError": "write sls failed, exception: the parent of sub user must be project owner, itemscount: 1", "LatestDeliveryLogServiceTime": "2021-02-26T09:19:44Z", "OssBucketStatus": true, "SlsLogStoreStatus": true }
說(shuō)明如果調(diào)用操作審計(jì)API后返回錯(cuò)誤,您需要根據(jù)返回的錯(cuò)誤碼提示檢查傳入的請(qǐng)求參數(shù)及其取值是否正確。
您也可以記錄下調(diào)用返回的RequestID或SDK報(bào)錯(cuò)信息,通過(guò)阿里云OpenAPI診斷平臺(tái)進(jìn)行自助診斷。