日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

服務端訂閱設備消息

設備連接物聯網平臺后,數據直接上報至物聯網平臺,平臺上的數據可以通過AMQP通道流轉至您的服務器。本文為您介紹通過配置AMQP服務端訂閱,實現企業服務器通過接入AMQP客戶端,接收路燈設備數據的完整流程。

前提條件

已接入設備和上報數據。具體操作,請參見設備接入和上報數據

準備開發環境

本文AMQP客戶端示例使用Java開發語言,推薦使用Apache Qpid JMS客戶端。您可訪問Qpid JMS 0.57.0,查看Qpid JMS客戶端使用說明。

示例使用的開發環境如下:

配置AMQP服務端訂閱

  1. 物聯網平臺控制臺實例概覽頁簽,單擊實例IoT測試環境

  2. 為消息消費端配置消費組身份,用于企業服務器通過消費組獲取轉發的消息。

    1. 在左側導航欄選擇消息轉發 > 服務端訂閱,單擊消費組列表頁簽。

    2. 單擊創建消費組

    3. 創建消費組對話框中,設置消費組名稱為溫控器數據接收,單擊確認

      創建消費組成功后,跳轉到消費組詳情頁面,查看消費組ID。您需復制并保存消費組ID值,用于AMQP客戶端接入。消費組ID

  3. 為家庭溫控器產品配置服務端訂閱,用于您的服務器直接訂閱產品下多種類型的消息。

    1. 在左側導航欄選擇消息轉發 > 服務端訂閱

    2. 服務端訂閱頁面的訂閱列表頁簽下,單擊創建訂閱

    3. 創建訂閱對話框,設置參數后單擊確認

      參數

      說明

      產品

      選擇家庭溫控器

      訂閱類型

      選擇AMQP

      消費組

      選擇上一步創建的溫控器數據接收

      推送消息類型

      選擇設備上報消息物模型歷史數據上報。更多消息類型,請參見配置AMQP服務端訂閱

    您也可以通過云產品流轉功能,將數據轉發至AMQP訂閱的消費組,使用AMQP客戶端接收消息。例如,將流轉規則溫控器數據流轉中已處理的物模型數據上報內容,轉發到AMQP訂閱的消費組溫控器數據接收中。具體操作,請參見數據轉發到AMQP服務端訂閱消費組消費

AMQP客戶端接入示例

  1. 下載Demo代碼包,并解壓。

  2. 打開IntelliJ IDEA,導入Demo包中的示例工程amqp-demo

    pom.xml文件中,已添加Maven依賴,下載Qpid JMS客戶端。

  3. src/main/java/com.aliyun.iotx.demo目錄下AmqpClient.java文件中,參照下表,修改JMS客戶端接入物聯網平臺代碼中的參數值。

        private static String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        private static String accessSecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        private static String consumerGroupId = "1yRO*****************";
    
        //iotInstanceId:實例ID。若是2021年07月30日之前(不含當日)開通的公共實例,請填空字符串。
        private static String iotInstanceId = "iot-cn-******";
    
        //控制臺服務端訂閱中消費組狀態頁客戶端ID一欄將顯示clientId參數。
        //建議使用機器UUID、MAC地址、IP等唯一標識等作為clientId。便于您區分識別不同的客戶端。
        private static String clientId = "test_IoT";
    
        //${YourHost}為接入域名,請參見AMQP客戶端接入說明文檔。
        private static String host = "iot-cn-******.amqp.iothub.aliyuncs.com";
    
        // 指定單個進程啟動的連接數
        // 單個連接消費速率有限,請參考使用限制,最大64個連接
        // 連接數和消費速率及rebalance相關,建議每500QPS增加一個連接
        private static int connectionCount = 4;

    參數

    說明

    accessKey

    登錄物聯網平臺控制臺,將鼠標移至賬號頭像上,然后單擊AccessKey管理,獲取AccessKey ID和AccessKey Secret。

    重要

    為避免將AccessKey硬編碼到業務代碼中帶來的安全風險,本示例采用配置環境變量的方法管理AccessKey。

    您需在本地操作系統中添加環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并分別寫入已準備好的AccessKey ID和AccessKey Secret。

    accessSecret

    consumerGroupId

    已創建的溫控器數據接收消費組ID。請參見上文配置AMQP服務端訂閱的步驟2。

    iotInstanceId

    IoT測試環境的實例ID。您可在控制臺的實例概覽頁簽查看。

    clientId

    表示客戶端ID,需您自定義,長度不可超過64個字符。建議使用您的AMQP客戶端所在服務器UUID、MAC地址、IP等唯一標識。

    AMQP客戶端接入并啟動成功后,登錄物聯網平臺控制臺,在對應實例的消息轉發 > 服務端訂閱 > 消費組列表頁簽,單擊消費組對應的查看消費組詳情頁面將顯示該參數,方便您識別區分不同的客戶端。

    host

    您購買實例成功后,保存的AMQP接入域名,請參見創建企業版實例

    您可在控制臺中實例IoT測試環境實例詳情頁面,單擊查看開發配置,單擊AMQP頁簽查看。

    connectionCount

    啟動AMQP客戶端的連接數,最大不超過128個。用于實時消息推送的擴容。

    消費組詳情頁面會以${clientId}+"-"+數字形式,顯示連接的客戶端。其中數字最小值為0。

  4. 運行AmqpClient.java示例代碼后,返回類似如下日志信息,表示AMQP客戶端已接入物聯網平臺并成功接收消息。

    說明

    本示例Demo代碼中,添加了結束程序的代碼(Thread.sleep(60 * 1000);),即程序啟動成功,運行一分鐘后會結束。實際場景中,您可根據需要自行設置運行時間。

    運行結果

    返回參數:

    參數

    參數值

    說明

    topic

    /***********/******/thing/event/property/post

    設備屬性上報的Topic。

    messageId

    1324198300680719360

    消息的ID。

    content

    {"temperature":23,"humidity":21,"time":1604548451951}

    消息的內容。

    代碼運行成功后,您可在服務端訂閱中,查看消費組狀態的基本信息。

    具體操作,請參見管理AMQP消費組

    消費組狀態

查看日志

所有配置完成后,登錄物聯網平臺控制臺,在企業實例下的監控運維 > 日志服務中,從產品列表選擇家庭溫控器,可在云端運行日志頁簽下,查看完整的日志信息。

日志信息

后續步驟

服務端下發指令