如何在 Python Azure IoT 中心客户端 SDK 中为 mqtt 发布消息设置 QoS 级别 0?

How to set QoS level 0 for mqtt publish messages in Python Azure IoT Hub Client SDK?

我正在使用 Azure 自定义 python SDK 连接到 Azure IoT 中心。我能够使用 MQTT 成功连接到集线器,但没有找到任何方法来设置发布消息的 QoS 级别 0。另外,我还没有找到 Python API 的任何文档。

官方 azure-iot-sdk python 库仅支持 iothub_client。如果你想使用 MQTT python SDK,至少有两种方法,

  1. 为 azure-umqtt-c 库编写 MQTT 库 python 包装器,它位于 here。并且设置的 QoS 级别 API 可用。我认为它的工作方式与 azure-iot-sdks python sdk for azure-iot-sdks c class library.
  2. 如果您正在使用一些第三方库,paho.mqtt 是一个不错的选择。您应该能够连接到 Azure MQTT 代理,并且您还可以使用设置的 QoS API。

此外,您还可以使用 IronPython 作为基于 .NET 框架的 Python 运行时,如果您熟悉,则可以将 Python 与适用于 C# 的 Azure IoTHub SDK 集成使用 C# 而不是 C,请参阅 document 了解 IronPython .NET 集成。