/ / Azure आईओटी हब पर एमक्यूटीटी: एमक्यूटीटी कनेक्शन शुरू करने में त्रुटि: कनेक्ट करने के लिए अधिकृत नहीं - जावा, एज़ूर, एमकेट, आईओटी, एज़ूर-आईट-हब

Azure IOT हब पर एमक्यूटीटी: एमक्यूटीटी कनेक्शन शुरू करने में त्रुटि: कनेक्ट करने के लिए अधिकृत नहीं - जावा, एज़ूर, एमकेट, आईओटी, एज़ूर-आईट-हब

मैं माइक्रोसॉफ्ट एज़ूर आईओटी हब का उपयोग करने की कोशिश कर रहा हूंआईओटी हब में अपने डिवाइस को जोड़ने और mqtt प्रोटोकॉल का उपयोग कर संदेश भेजें। मेरे पास एक खाता है और आवश्यकतानुसार टीटीएल के साथ डिवाइस और एसएएस बनाया गया है। मैं कनेक्ट करने के लिए माइक्रोसॉफ्ट एज़ूर द्वारा दिए गए जावा क्लाइंट एसडीके का उपयोग कर रहा हूं लेकिन मेरा कनेक्शन अधिकृत नहीं है। मैंने नीचे दिए गए यूआरएल में दिए गए सभी चरणों का पालन किया है: https://azure.microsoft.com/en-us/documentation/articles/iot-hub-mqtt-support/ कृपया इस संबंध में मेरी मदद करें। मेरे लॉग नीचे हैं:

लॉग्स:

MqttIotHubConnection.open() connectionOptions=
============== Connection options ==============
CleanSession : false
SocketFactory : null
MqttVersion : 4
KeepAliveInterval : 20
ConTimeout : 30
UserName : PCSIOTHub.azure-devices.net/MQ...
SSLProperties : null
WillDestination : null


Exception in thread "main" java.io.IOException: Error initializing MQTT connection:Not authorized to connect
at com.microsoft.azure.iothub.transport.mqtt.MqttIotHubConnection.open(MqttIotHubConnection.java:142)
at com.microsoft.azure.iothub.transport.mqtt.MqttTransport.open(MqttTransport.java:83)
at com.microsoft.azure.iothub.DeviceClient.open(DeviceClient.java:163)
at samples.com.microsoft.azure.iothub.SendReceive.main(SendReceive.java:210)

उत्तर:

उत्तर № 1 के लिए 1

यदि आप आईओटी हब के लिए माइक्रोसॉफ्ट जावा क्लाइंट का उपयोग कर रहे हैं, तो आपको एसएएस टोकन बनाने की ज़रूरत नहीं है, एसडीके आपके लिए यह करता है।

यदि आप यहां उदाहरण का पालन करते हैं, https://azure.microsoft.com/en-us/documentation/articles/iot-hub-java-java-getstarted/#create-a-simulated-device-app, आपको बस इतना करना है कि प्रतिस्थापित करें:

private static IotHubClientProtocol protocol = IotHubClientProtocol.AMQPS;

साथ में:

private static IotHubClientProtocol protocol = IotHubClientProtocol.MQTT;

और आपके पास एक मूल जावा क्लाइंट होगा जो एमक्यूटीटी पर आईओटी हब के साथ संवाद कर सकता है।


उत्तर № 2 के लिए 1

@DominicBetts के रूप में, जावा के लिए IoTHub एसडीके का उपयोग करते समय आपको एसएएस टोकन बनाने की आवश्यकता नहीं है। IoTHub की सुरक्षा के लिए अधिक व्याख्या, कृपया ऑफिकल दस्तावेज़ देखें Azure IoT Hub developer guide.

नमूना के रूप में संदर्भ के रूप में, आप का उल्लेख कर सकते हैं उदाहरण GitHub पर यह जानने के लिए कि जावा के लिए विभिन्न प्रोटोकॉल में संदेश कैसे भेजना है।