全部產品
Search
文件中心

Intelligent Media Management:OpenAPI整合樣本

更新時間:Nov 20, 2024

本文為您介紹使用OpenAPI建立Intelligent Media Management專案的完整樣本。

查看OpenAPI文檔

閱讀API概覽,選擇可以建立Intelligent Media Management專案資訊的OpenAPI:CreateProject - 建立專案。根據介面文檔,瞭解調用該介面需要的參數及許可權。

使用者身份管理

身份

  • 使用阿里雲帳號(主帳號)、RAM使用者、RAM角色調用該介面,有關各種身份的差異請參見身份、憑據、授權。本案例使用RAM使用者進行介面調用。登入RAM存取控制,建立一個僅允許API調用的RAM使用者,記錄AK資訊,更多詳情請參見建立RAM使用者

授權

  1. 訪問RAM使用者列表,單擊目標RAM使用者操作列的添加許可權

  2. 添加許可權地區,選擇AliyunIMMFullAccessAliyunSTSAssumeRoleAccess

    說明
  3. 單擊確認新增授權,完成授權操作。

訪問憑證

  • 臨時訪問憑證:對於需要高安全性的情境,例如臨時授權應用訪問OSS,建議使用臨時訪問憑證。臨時訪問憑證可以限制訪問的有效期間,從而減少訪問憑證泄露的風險。此外,臨時訪問憑證支援許可權控制,可以有效地避免許可權過大的問題。更多資訊,請參見配置訪問憑證

  • 長期訪問憑證:出於安全性考慮,不建議您使用長期訪問憑證,建議您使用臨時訪問憑證。對於需要便利性的情境,長期訪問憑證可以在較長時間內免除多次重新整理的麻煩。建議每三個月更換一次長期訪問憑證,以提高帳號的安全性。當長期訪問憑證泄露或者不再使用時,應該及時刪除或者禁用相關的訪問憑證,以免造成安全風險。更多資訊,請參見配置訪問憑證

擷取長期憑證AK

  1. 在建立RAM使用者時會預設產生一個AccessKey,可直接使用。

  2. 單擊目標RAM使用者的名稱進入RAM使用者詳情頁。在認證管理頁簽,單擊建立AccessKey,詳細步驟請參見建立AccessKey

擷取STS 短期憑證

重要

只支援使用RAM使用者(子帳號)或RAM角色調用,不支援使用阿里雲帳號(主帳號)調用。

  1. 建立RAM使用者。

    具體操作,請參見建立RAM使用者

  2. 為RAM使用者授予 AliyunSTSAssumeRoleAccess許可權。

    具體操作,請參見為RAM使用者授權

  3. 使用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_IDALIBABA_CLOUD_ACCESS_KEY_SECRET為例。變數名稱可以根據實際情況進行替換,例如OSS_ACCESS_KEY_IDOSS_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_IDALIBABA_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_IDGet-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"
    }
}