全部產品
Search
文件中心

IoT Platform:使用OpenAPI樣本

更新時間:Jun 30, 2024

本文為您介紹使用OpenAPI通過自訂Topic向裝置發布訊息的完整樣本。

查看OpenAPI文檔

通過閱讀API列表得知,通過自訂Topic向裝置發布訊息的OpenAPI為Pub。請您根據文檔,瞭解調用該介面需要準備的資料和許可權。

建立RAM使用者並授權

身份

您可以使用阿里雲帳號(主帳號)、RAM使用者、RAM角色調用該介面,有關各種身份的差異,請參見身份、憑據、授權。本案例中,我們使用RAM使用者進行介面調用。

登入RAM存取控制,建立一個僅允許API調用的RAM使用者,並記錄AccessKey資訊。具體操作,請參見建立RAM使用者

授權

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

  2. 選擇許可權區塊中輸入關鍵字IoT進行搜尋,選擇AliyunIOTFullAccess策略。

    說明
    • 物聯網平台的系統權限原則如下:

      • AliyunIOTFullAccess:管理物聯網平台(IoT)的許可權。

      • AliyunIOTReadOnlyAccess:唯讀訪問物聯網平台(IoT)的許可權。

    • 關於如何建立自訂許可權,請參見自訂許可權

  3. 單擊確定,完成授權操作。

憑證

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

您也可以進入到對應的RAM使用者詳情頁面,在認證管理頁簽,單擊建立AccessKey,建立一個新的AccessKey。具體操作,請參見建立AccessKey

調用OpenAPI

本文以Python語言為例,為您介紹OpenAPI的調用方法。

準備Python環境

  1. 先查看當前系統是否安裝Python3版本。

    Linux和macOS系統

    開啟系統終端,輸入python3 --version

    系統回顯Python版本號碼,表示已安裝Python3。否則,執行下一步,安裝Python3。

    Windows系統

    在Python的安裝路徑下,雙擊python.exe,開啟命令提示字元頁面。您也可通過鍵盤快速鍵Win+R開啟運行對話方塊,輸入命令python,單擊確定

    系統回顯類似如下,進入Python互動式環境,表示Python安裝成功。

    Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>  
  2. 下載並安裝Python。

    Python 3的下載地址,請參見Python 3

    Linux

    1. 擷取Python包。

      wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
    2. 解壓縮Python包。

      tar -zxvf Python-3.9.6.tgz
    3. 切換到解壓後的目錄,指定安裝路徑。

      cd Python-3.9.6
      sudo ./configure --prefix=/usr/bin/python3
    4. 編譯並安裝Python。

      make
      make install
    5. 配置Python3環境變數。

      例如Ubuntu的Linux系統,可執行以下命令。

      1. 開啟.bashrc檔案,在檔案底部

        nano ~/.bashrc
      2. 在檔案底部添加以下內容,儲存並關閉。

        export PATH=$PATH:/usr/bin/python3
      3. 執行以下命令,更新環境變數。

        source ~/.bashrc
      4. 執行以下命令,可查看環境變數包含Python3安裝路徑。

        echo $PATH

    macOS

    該系統內建有Python2.7環境,推薦下載最新版安裝Python 3.x版本。

    1. 下載安裝包後,雙擊安裝包,進入Python安裝嚮導對話方塊。

    2. 單擊繼續,按照指示進行配置和安裝。

    3. 根據Python3安裝路徑,配置對應環境變數。

    Windows

    1. 下載後,雙擊下載包,進入Python安裝嚮導,使用預設設定並選中Add Python 3.9 to PATH

    2. 單擊Install Now,開始安裝。

    3. 安裝完成後,單擊Close,關閉安裝視窗。

  3. 參照步驟1查看Python3版本,顯示對應版本,表示安裝成功。

配置環境變數

為避免將AccessKey寫入程式碼到業務代碼中帶來的安全風險,本樣本採用配置環境變數的方法管理AccessKey。

  • Linux和macOS系統

    將以下命令中的<access_key_id><access_key_secret>替換為您自己的AccessKey ID和AccessKey Secret,輸入到終端執行。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系統

    建立環境變數檔案,添加環境變數ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,並寫入已準備好的AccessKey ID和AccessKey Secret,然後重啟Windows系統。

安裝依賴

pip3 install alibabacloud_tea_openapi
pip3 install alibabacloud_iot20180120
pip3 install alibabacloud-tea-console

下載範例程式碼

  1. 在OpenAPI門戶,訪問Pub介面的調試地址

  2. 請求參數IotInstanceIdProductKeyTopicFullNameMessageContent輸入對應值,其他參數可不填寫。

  3. 單擊發起調用

  4. 調用結果頁簽顯示調用成功後,先單擊SDK樣本頁簽,再單擊Python頁簽。

  5. 單擊下載完整工程,下載範例程式碼包。

  6. 在本地解壓範例程式碼包,並進入alibabacloud_sample目錄。

運行代碼

執行以下命令:

python sample.py

輸出結果如下:

{
    "headers": {
        "date": "Thu, 10 Aug 2023 09:26:52 GMT",
        "content-type": "application/json;charset=utf-8",
        "content-length": "99",
        "connection": "keep-alive",
        "keep-alive": "timeout=25",
        "access-control-allow-origin": "*",
        "access-control-expose-headers": "*",
        "x-acs-request-id": "1296FD43-4BD3-5F80-AB2C-1ADF99B02253",
        "x-acs-trace-id": "aee72e4c5e***************77fc9d",
        "etag": "9umD************cjYJ8og9"
	},
    "statusCode": 200,
    "body": {
        "MessageId": 1689000000000004736,
        "RequestId": "1296FD43-4BD3-5F80-AB2C-1ADF99B02253",
        "Success": true
    }
}