全部產品
Search
文件中心

ApsaraMQ for MQTT:雲端Demo工程

更新時間:Jun 30, 2024

針對初次接觸雲Message QueueTT 版的工程師,本文以Java語言為例,提供操作樣本協助您從零開始搭建雲Message QueueTT 版的雲端測試工程。Demo工程包含發送訊息、接收訊息以及接收用戶端上下線訊息的範例程式碼及相關配置。

前提條件

  • 安裝IDEA。

    請下載IntelliJ IDEA Ultimate版本,並參見IntelliJ IDEA說明進行安裝。更多資訊,請參見下載地址。您也可以使用Eclipse,本文以IntelliJ IDEA為例。

  • 安裝JDK 1.8或以上版本。更多資訊,請參見安裝JDK

  • 建立資源。

    使用Demo工程收發訊息,需要提前在控制台建立資源資訊,包括建立執行個體建立Topic建立Group擷取AccessKey(包括AccessKey ID和AccessKey Secret)以及擷取存取點

運行Demo工程

  1. 下載並解壓Demo工程。

    下載地址,請參見Demo工程。解壓後可看到本地新增了mqtt-server-sdk-demo-main檔案夾,java-demo\src\main\java\com\aliyun\openservices\lmq\example路徑下包含了訊息收發的範例程式碼。

    • MQTTProducerDemo類:雲端服務向雲Message QueueTT 版服務端發送訊息。

    • MQTTConsumerDemo類:雲端服務從雲Message QueueTT 版服務端接收訊息。

    • MQTTClientStatusNoticeProcessDemo類:雲端服務接收用戶端上下線通知訊息。

  2. 將解壓好的Demo工程匯入至IntelliJ IDEA。

  3. 修改範例程式碼,根據業務情境修改需要使用的範例程式碼,將建立好的資源資訊填寫至範例程式碼中。

    說明

    在使用範例程式碼前,需要配置環境變數,通過環境變數讀取存取憑證。關於配置環境變數的方法,請參見配置訪問憑證

    雲Message QueueTT 版的AccessKey ID和AccessKey Secret的環境變數名稱分別為MQTT_AK_ENVMQTT_SK_ENV

    // 雲Message QueueTT 版執行個體的存取點,具體填寫格式,請參見介面和參數說明。
    String domain = "domain";
    // 使用的協議和連接埠必須匹配,該參數值固定為5672。
    int port = "port";
    // 已建立好的雲Message QueueTT 版執行個體ID。
    String instanceId = "instanceId";
    // 您的RAM使用者的AccessKey ID和AccessKey Secret。
    // 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
    // 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
    // 本樣本以將AccessKey 和 AccessKeySecret 儲存在環境變數為例說明。
    String accessKey = System.getenv("MQTT_AK_ENV");
    String secretKey = System.getenv("MQTT_SK_ENV");
    // 您已建立好的用於收發訊息的父級Topic。
    String firstTopic = "firstTopic";
    // 若您需要使用子級Topic,可直接在代碼中設定,無需提前在控制台建立。子級Topic命名規範,請參見名詞解釋。
    String secondTopic = "secondTopic";
    // 您已建立好的用於收發訊息的Group ID。
    String mqttGroupId = "mqttGroupId";
  4. 配置完成後,以Main方式運行步驟2中修改好的範例程式碼。

結果驗證

運行Demo工程完成訊息收發後,您可在雲Message QueueTT 版控制台查詢訊息軌跡,驗證訊息收髮結果。詳細資料,請參見訊息軌跡查詢