RabbitMQ 到 Azure IoT-Hub?

RabbitMQ to Azure IoT-Hub?

目前我们想使用 RabbitMQ 访问我们的 Azure IoT-Hub。我们知道还有其他选项,并且已经测试了一些,但是这个项目是为了测试它是否可行并且适合我们。

using RabbitMQ.Client;
using RabbitMQ.Client.Events;
using System;
using System.Text;

我们的代码看起来有点像这样:

var factory = new ConnectionFactory();
factory.HostName = $"{IOT_HUB_NAME}.azure-devices.net";

// This fails with the message: 'None of the specified endpoints were reachable.'
using (var connection = factory.CreateConnection())
{
    // ...
}

工厂要连接的端点是: amqp://<IoT-Hub Name>.azure-devices.net:5672

我们的 IT 部门已经检查了我们的文件墙:它没有阻止此连接。

使用 telnet 快速检查导致连接错误:

telnet <IoT-Hub Name>.azure-devices.net 5672

但是,端口 5671(AMQP 所需的另一个端口)可用。

我已经尝试设置 factory.Port = 5671 但没有成功。使用 Microsoft Azure IoT SDK 的另一项检查表明确实可以连接到 IoT-Hub。

这让我假设我错过了一个重要的配置,或者可能无法使用 RabbitMQ 连接到 Azure IoT-Hubs。

您当然想研究解决特定端点(例如 device to cloud messaging 端点)以及从该文档链接的身份验证机制。

再次回复:

在柏林(德国)与微软的云解决方案架构师交谈后,我很确定这是不可能的,因为使用的 AMQP 协议的版本不同(0.9.1 到 1.0 似乎不是可能)。