【问题标题】:Azure Service Bus with Python使用 Python 的 Azure 服务总线
【发布时间】:2021-06-06 13:06:34
【问题描述】:

您能否帮助我提供一些关于使用 Python 使用 Azure 服务总线流式消息的建议。

因为我发现 Azure Service Bus 没有 Spark 结构化流式传输源,那么在这种情况下,我可以使用提供的 Python 客户端读取 Azure Service Bus 消息,并且从 Python 客户端读取每条消息并将其写入 Kafka 主题,然后这个 Kafka 主题我将应用 spark 结构化流式编程。

我的用例是使用 Azure 服务总线流式消息,并通过将其转换为时间流数据库 InfluxDb 或 Pramethoues 来编写每条消息,并在 Grafana 中的业务指标上显示实时仪表板。

我正在考虑使用 python kafka 生产者之类的程序读取 Azure 服务总线流式消息,并将此数据写入 Kafka 主题,然后将这些数据消耗到带有 Kafka 主题的 Spark 结构流中。

请建议我是否朝着正确的方向前进?任何建议都将不胜感激......

【问题讨论】:

    标签: azure apache-spark pyspark apache-kafka azureservicebus


    【解决方案1】:

    看起来没有现成的连接器,因为服务总线的设计并未考虑到这一点,这与事件中心(provides the Kafka Protocol)不同。不过write your own receiver应该是可以的(比如this one)。

    另一种选择是使用Azure Functions 之类的简单方法立即将消息从服​​务总线转发到事件中心(或 Kafka)等兼容源。

    Azure Functions 以及 bindingsSerice BusEvent Hubs / Kafka,几乎无需代码即可实现此转发服务。但是,如果您愿意,在您自己的客户端中同时使用 Python SDK 也可以解决问题,它本身也可以是 Azure 函数。

    --来自我在Microsoft Q&A的原始答案

    【讨论】:

    • 非常感谢您的建议和提示。我也会检查所有这些选项。我也在考虑使用 apache Nifi ConsumeAMQP 连接器,因为 Azure 服务总线是 AMQP 消息,Nifi 会将此消息放入卡夫卡主题。按照建议对所有这些进行一些研发后,将再次与您联系。
    • @Nicolas 关于使用 DBR 使用服务总线,您是否找到了一种好方法?
    • @KristianSchneider - 不幸的是,到目前为止,我们还没有达到项目的这个 Streaming 阶段,这就是为什么不能在这方面做很多研发的原因。在建议使用 apache Nifi ConsumeAMQP 处理器的培训 cloudera 中,您可以尝试一次此选项,但目前还不确定。
    猜你喜欢
    • 2014-10-20
    • 2021-11-06
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多