本文為您介紹使用OpenAPI建立Intelligent Media Management專案的完整樣本。
查看OpenAPI文檔
閱讀API概覽,選擇可以建立Intelligent Media Management專案資訊的OpenAPI:CreateProject - 建立專案。根據介面文檔,瞭解調用該介面需要的參數及許可權。
使用者身份管理
身份
授權
訪問RAM使用者列表,單擊目標RAM使用者操作列的添加許可權。
在添加許可權地區,選擇AliyunIMMFullAccess和AliyunSTSAssumeRoleAccess。
說明AliyunIMMFullAccess:管理Intelligent Media Management(IMM)的許可權。關於Intelligent Media Management許可權的更多資訊,請參見為專案佈建服務角色。
如果想建立自定許可權,請參見為RAM使用者配置許可權。
單擊確認新增授權,完成授權操作。
訪問憑證
臨時訪問憑證:對於需要高安全性的情境,例如臨時授權應用訪問OSS,建議使用臨時訪問憑證。臨時訪問憑證可以限制訪問的有效期間,從而減少訪問憑證泄露的風險。此外,臨時訪問憑證支援許可權控制,可以有效地避免許可權過大的問題。更多資訊,請參見配置訪問憑證。
長期訪問憑證:出於安全性考慮,不建議您使用長期訪問憑證,建議您使用臨時訪問憑證。對於需要便利性的情境,長期訪問憑證可以在較長時間內免除多次重新整理的麻煩。建議每三個月更換一次長期訪問憑證,以提高帳號的安全性。當長期訪問憑證泄露或者不再使用時,應該及時刪除或者禁用相關的訪問憑證,以免造成安全風險。更多資訊,請參見配置訪問憑證。
擷取長期憑證AK
在建立RAM使用者時會預設產生一個AccessKey,可直接使用。
單擊目標RAM使用者的名稱進入RAM使用者詳情頁。在認證管理頁簽,單擊建立AccessKey,詳細步驟請參見建立AccessKey。
擷取STS 短期憑證
只支援使用RAM使用者(子帳號)或RAM角色調用,不支援使用阿里雲帳號(主帳號)調用。
建立RAM使用者。
具體操作,請參見建立RAM使用者。
為RAM使用者授予
AliyunSTSAssumeRoleAccess
許可權。具體操作,請參見為RAM使用者授權。
使用RAM使用者調用STS服務的AssumeRole介面擷取STS臨時訪問憑證。
具體操作,請參見AssumeRole。
STS Token方式調用可以保護帳號AccessKey資訊,相比AccessKey方式更具有隱私性。如果您需要多次臨時訪問IMM,您需要手動重新整理STS Token
調用OpenAPI
本文使用Python語言SDK,為您介紹OpenAPI的調用方法。其他語言SDK的用法也類似。更多資訊,請參見。
準備Python環境
下載並安裝Python 3。
查看Python版本方法:開啟終端,輸入python --version
。
配置 AK 環境變數
建立AccessKey後,您需要配置環境變數AccessKey ID和AccessKey Secret。
阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
在Linux和macOS系統內容變數中設定阿里雲AccessKey
以設定環境變數ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
為例。變數名稱可以根據實際情況進行替換,例如OSS_ACCESS_KEY_ID
、OSS_ACCESS_KEY_SECRET
。
通過export命令配置環境變數
使用export命令配置的臨時環境變數僅當前會話有效,當會話退出之後所設定的環境變數將會丟失。若需長期保留環境變數,可將export命令配置到對應作業系統的啟動設定檔中。
配置AccessKey ID並按斷行符號。
# 將<ACCESS_KEY_ID>替換為您自己的AccessKey ID。 export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
配置AccessKey Secret並斷行符號。
# 將<ACCESS_KEY_SECRET>替換為您自己的AccessKey Secret。 export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
驗證是否配置成功。
執行
echo $ALIBABA_CLOUD_ACCESS_KEY_ID
命令,如果返回正確的AccessKey ID,則說明配置成功。
Windows系統配置方法
以設定環境變數ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
為例:
通過圖形化使用者介面GUI
操作步驟
以下為Windows 10中通過圖形化使用者介面設定環境變數的步驟。
在案頭按右鍵此電腦,選擇屬性>進階系統設定>環境變數>系統變數/使用者變數>建立,完成以下配置:
變數
樣本值
AccessKey ID
變數名:ALIBABA_CLOUD_ACCESS_KEY_ID
變數值:LTAI4GDty8ab9W4Y1D****
AccessKey Secret
變數名:ALIBABA_CLOUD_ACCESS_KEY_SECRET
變數值:IrVTNZNy5yQelTETg0cZML3TQn****
測試設定是否成功
單擊開始(或快速鍵:Win+R)> 運行(輸入 cmd)> 確定(或按 Enter 鍵),開啟命令提示字元,執行
echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
、echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%
命令。若返回正確的AccessKey,則說明配置成功。
通過命令列提示符CMD
操作步驟
以管理員身份開啟命令提示字元,並使用以下命令在系統中新增環境變數。
setx ALIBABA_CLOUD_ACCESS_KEY_ID LTAI4GDty8ab9W4Y1D**** /M setx ALIBABA_CLOUD_ACCESS_KEY_SECRET IrVTNZNy5yQelTETg0cZML3TQn**** /M
其中
/M
表示系統級環境變數,設定使用者級環境變數時可以不攜帶該參數。測試設定是否成功
單擊開始(或快速鍵:Win+R)> 運行(輸入 cmd)> 確定(或按 Enter 鍵),開啟命令提示字元,執行
echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
、echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%
命令。若返回正確的AccessKey,則說明配置成功。
通過Windows PowerShell
在PowerShell中,設定新的環境變數(對所有新會話都有效):
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::User)
為所有使用者佈建環境變數(需要管理員權限):
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTAI4GDty8ab9W4Y1D****', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'IrVTNZNy5yQelTETg0cZML3TQn****', [System.EnvironmentVariableTarget]::Machine)
設定臨時的環境變數(僅當前會話有效):
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTAI4GDty8ab9W4Y1D****"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "IrVTNZNy5yQelTETg0cZML3TQn****"
在PowerShell中,執行Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID
、Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRET
命令。若返回正確的AccessKey,則說明配置成功。
配置 STS Token 環境變數
Mac OS X/Linux/Unix
export IMM_ACCESS_KEY_ID=<ALIBABA_CLOUD_ACCESS_KEY_ID>
export IMM_ACCESS_KEY_SECRET=<ALIBABA_CLOUD_ACCESS_KEY_SECRET>
export IMM_SESSION_TOKEN=<ALIBABA_CLOUD_SECURITY_TOKEN>
Windows
set IMM_ACCESS_KEY_ID <ALIBABA_CLOUD_ACCESS_KEY_ID>
set IMM_ACCESS_KEY_SECRET <ALIBABA_CLOUD_ACCESS_KEY_SECRET>
set IMM_SESSION_TOKEN <ALIBABA_CLOUD_SECURITY_TOKEN>
下載範例程式碼安裝依賴
pip install alibabacloud_credentials
在參數配置頁簽,填寫需要的參數資訊,例如輸入要建立專案的projectName。
pip install alibabacloud_tea_console
在本地解壓範例程式碼包並進入alibabacloud_sample目錄。
運行下載範例程式碼
在終端裝置執行以下命令。
python sample.py
得到如下輸出結果。
{
"headers":{
"date":"Thu, 10 Aug 2023 06:34:51 GMT",
"content-type":"application/json;charset=utf-8",
"content-length":"602",
"connection":"keep-alive",
"keep-alive":"timeout=25",
"access-control-allow-origin":"*",
"access-control-expose-headers":"*",
"x-acs-request-id":"2C489857-69E6-5974-B963-A7DF99EFFF43",
"x-acs-trace-id":"eccc35df82a086e7bb4f4fe778f****",
"etag":"6HYADxT6iVDNgQUq+wGO****"
},
"statusCode":200,
"body":{
"Project":{
"CreateTime":"2023-08-10T14:34:51.586696893+08:00",
"DatasetCount":0,
"DatasetMaxBindCount":10,
"DatasetMaxEntityCount":10000000000,
"DatasetMaxFileCount":100000000,
"DatasetMaxRelationCount":100000000000,
"DatasetMaxTotalFileSize":90000000000000000,
"Description":"",
"EngineConcurrency":200,
"FileCount":0,
"ProjectMaxDatasetCount":1000000000,
"ProjectName":"testproject",
"ProjectQueriesPerSecond":200,
"ServiceRole":"AliyunIMMDefaultRole",
"TemplateId":"Official:DefaultEmptyId",
"TotalFileSize":0,
"UpdateTime":"2023-08-10T14:34:51.586696977+08:00"
},
"RequestId":"2C489857-69E6-5974-B963-A7DF99EFFF43"
}
}