針對初次接觸雲Message QueueTT 版的工程師,本文以Java語言為例,提供操作樣本協助您從零開始搭建雲Message QueueTT 版的雲端測試工程。Demo工程包含發送訊息、接收訊息以及接收用戶端上下線訊息的範例程式碼及相關配置。
前提條件
運行Demo工程
下載並解壓Demo工程。
下載地址,請參見Demo工程。解壓後可看到本地新增了mqtt-server-sdk-demo-main檔案夾,java-demo\src\main\java\com\aliyun\openservices\lmq\example路徑下包含了訊息收發的範例程式碼。
MQTTProducerDemo
類:雲端服務向雲Message QueueTT 版服務端發送訊息。MQTTConsumerDemo
類:雲端服務從雲Message QueueTT 版服務端接收訊息。MQTTClientStatusNoticeProcessDemo
類:雲端服務接收用戶端上下線通知訊息。
將解壓好的Demo工程匯入至IntelliJ IDEA。
修改範例程式碼,根據業務情境修改需要使用的範例程式碼,將建立好的資源資訊填寫至範例程式碼中。
說明在使用範例程式碼前,需要配置環境變數,通過環境變數讀取存取憑證。關於配置環境變數的方法,請參見配置訪問憑證。
雲Message QueueTT 版的AccessKey ID和AccessKey Secret的環境變數名稱分別為MQTT_AK_ENV和MQTT_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";
配置完成後,以Main方式運行步驟2中修改好的範例程式碼。
結果驗證
運行Demo工程完成訊息收發後,您可在雲Message QueueTT 版控制台查詢訊息軌跡,驗證訊息收髮結果。詳細資料,請參見訊息軌跡查詢。