Last updated
Was this helpful?
Last updated
Was this helpful?
Die IoTHub-Geräte-ID muss mit der MQTT-Client-ID übereinstimmen
Sie können sich nur mit einem Client für ein bestimmtes IoTHub-Gerät verbinden
Der SAS-Token läuft nach einer vordefinierten Zeit ab und muss aktualisiert werden. Sie müssen den Token sowie das MQTT-Passwort regelmäßig für jeden Stream im Control Center aktualisieren.
Wir setzen die Stream-ID als MQTT-Client-ID. Sie können die MQTT-Client-ID bei Bedarf überschreiben.
für jeden Stream eine entsprechende IotHub-Geräte-ID erstellen (empfohlen) oder
zufällige IotHub-Geräte-IDs erstellen und jedem Stream eine zuweisen, indem Sie die MQTT-Client-ID festlegen
(1) Erstellen Sie ein IotHub-Gerät, kopieren Sie die Stream-ID aus dem Control Center
az iot hub device-identity create --hub-name <hubname> --device-id "<stream-id> --edge-enabled
(2) Erzeugen Sie einen SAS-Token für das IoTHub-Gerät
az iot hub generate-sas-token --hub-name <hubname> --duration 51840000 --device-id <stream-id>
(3) Überprüfen Sie eingehende Events
az iot hub monitor-events --hub-name <hubname> -d "stream-id"
mosquitto_pub -p 8883 -i <stream-id> -u '<hubname>.azure-devices.net/<stream-id>/?api-version=2021-04-12' -P '<SAS token>' -t 'devices/<stream-id>/messages/events' --cafile root.pem -d -V mqttv311 -m '{"swarm":"test"}'
(5) Geben Sie URL, Benutzername, Passwort und Topic als Custom-Broker im Control Center an.
(4) Testen Sie mit einem MQTT-Client (z.B. mosquitto) und veröffentlichten Sie eine Message. Wir haben diese verwendet. Stellen Sie sicher, dass Sie zu diesem Zeitpunkt Messages erhalten. Fahren Sie nicht fort, wenn dieser Schritt nicht funktioniert.