【问题标题】:RabbitMQ to Azure IoT-Hub?RabbitMQ 到 Azure IoT-Hub?
【发布时间】:2017-06-08 13:41:08
【问题描述】:

目前我们想使用 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。

【问题讨论】:

    标签: c# rabbitmq amqp iot azure-iot-hub


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。但是,您链接的文档仅涵盖通过 Microsoft Azure SDK 访问 iot-hub。如前所述,我可以做到这一点。我的问题是,如何使用 RabbitMQ 来实现这一点。
    • 我们确实还没有这么详细的 AMQP 文档。但是,我们的一位 MVP 发表了几篇肯定会有所帮助的文章(使用另一个库,但解释了端点和身份验证)。 paolopatierno.wordpress.com/2015/10/24/… paolopatierno.wordpress.com/2015/10/31/… 如果可以,我想了解您为什么不想使用我们的 SDK。我们希望改进它们,因此我们非常欢迎任何反馈(尤其是负面的)
    • @OlivierBlock 感谢您的回复。我们目前正在寻找用于 AMQP 通信的 SDK。为此,我们已经创建了一些原型,其中一个使用了 Microsoft Azure SDK。所有以前的都按预期工作。问题是 RabbitMQ 是否也可以成为可能的候选者之一,因为我们不会被绑定到 Azure 使用它。在与您在柏林(德国)微软的一位云解决方案架构师交谈后,我很确定这是不可能的,因为使用的 AMQP 协议的版本差异(0.9.1 到 1.0 似乎是不可能的)。
    • 确实,AMQP 版本可能是个问题。感谢您分享更多关于您在做什么的信息。您是否检查过我们在 csharp SDK (github.com/Azure/azure-amqp) 底层使用的那个?
    【解决方案2】:

    这里再次作为答案:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      相关资源
      最近更新 更多