Nifi:使用企业代理环境使用Azure Event Hub

问题描述 投票:2回答:1

我在Nifi中有一个用例来使用Event Hub中的数据。但是,Nifi服务器位于代理服务器后面。代理还需要用户名和密码才能进行授权。到目前为止,我发现GetAzureEventHub处理器完成了这项工作,但它缺乏完整的代理控制器服务。

我想知道什么是处理这种情况的最佳方式。

apache-nifi azure-eventhub
1个回答
4
投票

它有两种方法。默认情况下,Azure Event Hubs客户端配置为使用名为AMQP的开放标准与服务进行通信。

IANA指定的AMQP协议a.k.a AMQPS安全版本的端口是5671。所以,这是第一个选择:

  • 您需要与管理员合作以允许端口5671上的流量,并为此流量选择退出用户名密码(也称为BASIC)身份验证。这是一个复杂的选择 - 但是,技术上应该是可行的。

第二个选项,我想最实用的一个 - 在你的情况下:

  • 配置事件中心库以通过AMQPWebSockets交谈。在创建EventHubClient时,将TransportType上的ConnectionStringBuilder属性设置为AMQP_WEB_SOCKETS。这将允许您谈论所有代理配置为运行的标准HTTPS端口 - WebSockets使用哪个。如果在java进程级别配置proxySettings,则库已经了解它。我试图记录详细说明here

现在,这种方法的唯一限制是--apache-nifi使用和旧版本的EventHubs客户端(0.14.x), whereas, you will need1.2.0to be able to use theWebSockets over proxy`。

这两个版本之间存在一些重大变化 - that we documented here - 这应该可以帮助您进行迁移。快乐的编码!

more on Event Hubs...

© www.soinside.com 2019 - 2024. All rights reserved.