无法向设备ID中带有“:”的单位发送消息到Azure IoT中心

问题描述

我正在尝试将机器中的消息发送到IoT中心。我正在使用以下代码:

    message = Message('{{"temperature": 20,"humidity": 10}}')
    client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING)
    client.send_message(message)

当CONNECTION_STRING中的deviceId中没有冒号时,此方法有效。

CONNECTION_STRING = "HostName=my-iot-hub.azure-devices.net;DeviceId=E0:DC:A0:73:C6:C3;SharedAccessKey=password"


CONNECTION_STRING = "HostName=my-iot-hub.azure-devices.net;DeviceId=my_device;SharedAccessKey=password"

第一个连接字符串不起作用。尝试发送消息时,该过程挂起-但没有给我错误消息。第二个发送没有任何问题。

有逃脱结肠的方法吗?

解决方法

我们确认这是网址编码错误。在azure-iot-device的下一个版本(高于2.3.0的版本)中,我们将添加一个修复程序。

谢谢。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...