首页 > 解决方案 > 哪个外部 AMQP 客户端库用于 IoT 中心集成?

问题描述

我想用 Java 连接到 Microsoft Azure IoT Hub,以实现具有某种身份转换的设备网关。由于我不想使用专有的 Azure SDK,我正在寻找合适的 AMQP-client-library。我使用非常高级的Vert.X AMQP 客户端迈出了第一步,并且能够使用 SASL 连接到 IoT 中心并交换消息。但是由于需要对每个设备进行身份验证,我很快就达到了库的限制,因为不支持会话和链接。

还有其他 AMQP 客户端库,例如 Vert.X AMQP 客户端的父库Vert.X Proton,当然还有最详细的 AMQP 客户端实现Apache Qpid Proton-J 和 Qpid JMS。现在出现的问题是我的用例也选择了哪个库?目前我自己不能令人满意地回答这个问题,因为这些库本身的可用在线资源(文档和示例)以及与其他库的 IoT Hub 的外部 AMQP 集成然后 Azure SDK 非常罕见。Apache Qpid 似乎是最强大但也是最复杂的一个。Vert.X Proton 作为更易于使用的包装器还支持会话链接,但可能仍然不支持连接到 IoT 中心所需的所有 AMQP 功能?很难对需求进行概述。

标签: azureamqpazure-iot-hub

解决方案


Azure IoT SDK 在 MIT 许可下是完全开源的,因此本身不是专有的。Java SDK 依赖于 Apache qpid Proton J 并添加了一个轻量级的便利层来抽象协议本身。允许您充分利用所有 Azure IoT 中心功能。我真的很好奇为什么你不喜欢使用应该让你的生活更轻松的开源 SDK。也很好奇为什么你更喜欢 AMQP 而不是 MQTT。再一次,这些纯粹是真正的问题,因为我试图更好地了解我们的开发人员的需求和需求。此外,如果您还没有找到它,这里有一个文档解释了 IoT Hub 如何使用 AMQP:https ://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support


推荐阅读