RabbitMQ到Azure IoT-Hub?

时间:2017-06-08 13:41:08

标签: c# rabbitmq amqp iot 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-Hub。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这里再次作为答案:

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