跳到主要内容

使用 REST 连接到 Azure Event Hubs 或 Azure Service Bus

Azure Cloud 平台上使用最广泛的两种消息服务是 Azure Event Hubs 和 Azure Service Bus。架构师和开发人员利用这些消息服务将应用程序扩展到 Azure 中更高级的云服务,如机器学习、实时数据分析和数据科学。

Azure Event Hubs 是一个完全托管的实时数据摄取服务;它通常用于从多个来源流式传输数百万个事件并构建多个数据管道。

Azure Service Bus 是一个高度可靠的消息服务,连接应用程序与服务。它提供服务器与客户端之间的异步操作,以及其他消息功能,如具有队列和主题的发布/订阅。

Azure Event Hubs 更适合于需要摄取大量数据的场景,而 Azure Service Bus 更适合于企业消息需求。

在 PubSub+ 事件代理的 9.8.0 版本中,现在可以在 REST 交付点(RDP)内设置服务帐户,以在 Azure 和 PubSub+ 代理之间建立 OAuth 身份验证,指定适当的应用注册和权限。

OAuth 客户端身份验证流程使 PubSub+ 事件代理能够使用主凭据(客户端 ID 和客户端密钥)从授权服务器获取访问令牌,因此没有重定向或刷新令牌。这些凭据通常与应用程序而不是个人相关联,使其更适合于权限治理的安全性。

有关更多信息,请参阅管理 REST 交付点。

目标

本教程的目标是演示如何在 PubSub+ 事件代理中设置 OAuth 2.0 客户端身份验证,以便从远程连接向 Azure Event Hubs 发送消息。本教程将向您展示如何:

  • 配置事件代理以设置具有 OAuth 客户端身份验证的 RDP 到 Azure Event Hubs 或 Service Bus
  • 使用 PubSub+ Broker Manager 内置的 Try Me! 功能向 Azure Event Hubs 发送消息
  • 查看在 Blob 存储中发送到 Event Hubs 的消息

先决条件

  • Solace PubSub+ 事件代理 9.8.0 或更高版本
  • 访问 PubSub+ Broker Manager(请参阅 PubSub+ Broker Manager)

连接到 Azure Event Hubs

在 PubSub+ 事件代理的 9.8.0 版本中,新的 REST 连接器向导可以帮助您设置和配置与各种云平台及其服务的集成。

此示例展示了如何与 Microsoft Azure 设置 OAuth 客户端身份验证。

  1. 登录到 PubSub+ Broker Manager。

  2. 启动连接器 Click-to-Connect 向导(请参阅使用 Click-to-Connect 创建 REST 连接器)。

  3. 点击 Microsoft Azure

    img

  4. 点击 Azure Event Hubs,然后点击 Authenticate

  5. 为连接器提供一个名称,并输入 Azure 提供的 Client IDClient Secret

    您可以从 Azure 控制台的 Overview 部分获取客户端 ID。客户端 ID 是 Azure Event Hub 已注册的应用程序 ID。

    客户端密钥位于 Certificates & secrets 部分,但您可能需要从您的 Azure 管理员那里获取它,因为它仅在应用程序创建时可用。

  6. 一旦身份验证建立,输入 Azure Namespace HostEvent Hubs 实例 名称,并相应配置客户端配置文件。

    Azure Namespace Host 是 Event Hubs 命名空间的主机名。

    您可以从 Azure 控制台首页获取 Event Hubs 实例名称,在此示例中,solace-test 是 Event Hubs 实例名称。

    img

  7. 选择队列订阅。此示例使用 default

  8. 点击 Create and Enable Connector 以完成连接器的创建。

连接到 Azure Service Bus

要连接到 Azure Service Bus,您可以遵循许多与连接到 Event Hubs 相同的步骤,只是您需要使用为 Azure Service Bus 设置的应用程序及其客户端 ID 和密钥。

  1. 登录到 PubSub+ Broker Manager。

  2. 启动连接器 Click-to-Connect 向导(请参阅使用 Click-to-Connect 创建 REST 连接器)。

  3. 点击 Microsoft Azure

  4. 点击 Azure Service Bus,然后点击 Authenticate

  5. 为连接器提供一个名称,并输入 Azure 提供的 Client IDClient Secret

    您可以从 Azure 控制台的 Overview 部分获取客户端 ID。客户端 ID 是 Azure Service Bus 已注册的应用程序 ID。

    您必须从您的 Azure 管理员那里获取客户端密钥,因为它仅在应用程序创建时可用。

  6. 一旦身份验证建立,输入 Azure Namespace HostService Bus Entity,并相应配置客户端配置文件。

    对于 Azure Namespace Host,请使用 Service Bus 命名空间的主机名。

    对于 Service Bus Entity,请使用您为此 Service Bus 配置的队列名称。

  7. 选择队列订阅。

  8. 点击 Create and Enable Connector 以完成连接器的创建。

设置 Azure Event Hubs Blob 存储

在配置与您的 Azure Event Hubs 实例的连接后,您可以设置 Blob 存储以接收消息。此外,您可以使用 Python 脚本读取写入存储的内容。

  1. 为您的 Azure Event Hubs 设置一个容器。

  2. 使用 PubSub+ Broker Manager Try Me! 应用程序向默认订阅发送消息。

  3. 使用 Python 脚本读取写入 Blob 存储的内容。

    imgimgimgimg