jOa*_*sis 2 azure-eventhub apache-nifi
我在 Nifi 中有一个用例来使用来自事件中心的数据。然而,Nifi 服务器位于代理后面。代理还需要用户名和密码进行授权。到目前为止,我发现GetAzureEventHub处理器可以完成这项工作,但它缺乏完整的代理控制器服务。
我想知道在这种情况下处理的最佳方法是什么。
有两种方法可以解决这个问题。默认情况下,Azure 事件中心客户端配置为使用名为AMQP的开放标准与服务通信。
协议IANA安全版本的分配端口是。所以,这是第一个选项:AMQPAMQPS5671
5671并选择退出此流量的用户名密码(又名 BASIC)身份验证。这是一个复杂的选择——但是,在技术上应该是可行的。第二种选择,我认为最实用的一种 - 就您而言:
AMQP讨论WebSockets。创建时EventHubClient,将TransportType属性设置ConnectionStringBuilder为AMQP_WEB_SOCKETS。这将允许您在所有代理都配置为运行的标准 HTTPS 端口上进行通信 - 该端口WebSockets使用。如果您proxySettings在 java 进程级别进行配置,则该库已经理解它。我尝试在此处记录详细说明。现在,使用此方法会遇到的唯一限制是 -apache-nifi使用旧版本的 EventHubs 客户端(0.14.x), whereas, you will need1.2.0 to be able to use theWebSockets over proxy`。
这两个版本之间存在一些重大更改(我们在此处记录),这应该可以帮助您进行迁移。快乐编码!