你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 事件网格中的自定义主题

事件网格主题提供一个可供源在其中发送事件的终结点。 发布者创建一个事件网格主题,并决定事件源需要一个主题还是多个主题。 主题用于收集相关事件。 为了对某些类型的事件作出响应,订阅服务器将决定要订阅的主题。

自定义主题是应用程序和第三方的主题。 在创建或分配了对自定义主题的访问权限后,就会在订阅中看到该自定义主题。 自定义主题支持推送传递。 请参阅何时使用拉取传递或推送传递,以帮助确定推送传递是否符合你的要求。

在设计应用程序时,必须确定要创建多少个主题。 对于相对较大的解决方案,请为相关事件的每个类别创建一个自定义主题。 例如,假设一个应用程序需要管理用户帐户,另一个应用程序需要管理客户订单。 不太可能所有事件订阅者都需要这两个应用程序的事件。 若要将问题分开,请创建两个主题:为每个应用程序各创建一个。 让事件处理程序根据其要求订阅主题。 对于小型解决方案,可能希望将所有事件发送到单个主题。 事件订阅者可以筛选他们所需的事件类型。

事件架构

自定义主题支持两种类型的事件架构:云事件和事件网格架构。

云事件架构

除了采用默认事件架构的事件,Azure 事件网格本身还支持采用 CloudEvents v1.0 的 JSON 实现HTTP 协议绑定的事件。 CloudEvents 是一种用于描述事件数据的开放规范

CloudEvents 提供通用事件架构用于发布和使用事件,可简化互操作性。 此架构允许使用统一的工具、标准的路由和处理事件的方式,以及反序列化事件的常见方法。 使用通用架构可以更轻松地跨平台集成工作。

备注

有关详细信息,请参阅云事件架构

事件网格事件架构

在使用事件网格事件架构时,可以在数据对象中指定特定于应用程序的属性。

[
  {
    "topic": string,
    "subject": string,
    "id": string,
    "eventType": string,
    "eventTime": string,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string,
    "metadataVersion": string
  }
]

备注

有关详细信息,请参阅事件网格事件架构

以下部分提供了一些指向教程的链接,这些教程分别介绍如何使用 Azure 门户、CLI、PowerShell 和 Azure 资源管理器 (ARM) 模板来创建自定义主题。

Azure 门户教程

标题 说明
快速入门:使用 Azure 门户创建和路由自定义事件 说明如何使用门户发送自定义事件。
快速入门:将自定义事件路由到 Azure 队列存储 说明如何将自定义事件发送到队列存储。
如何:发布到自定义主题 说明如何将事件发布到自定义主题。

Azure CLI 教程

标题 说明
快速入门:使用 Azure CLI 创建和路由自定义事件 说明如何使用 Azure CLI 发送自定义事件。
Azure CLI:创建事件网格自定义主题 用于创建自定义主题的示例脚本。 该脚本检索终结点和密钥。
Azure CLI:订阅自定义主题的事件 用于创建自定义主题的订阅的示例脚本。 它将事件发送到 WebHook。

Azure PowerShell 教程

标题 说明
快速入门:使用 Azure PowerShell 创建和路由自定义事件 说明如何使用 Azure PowerShell 发送自定义事件。
PowerShell:创建事件网格自定义主题 用于创建自定义主题的示例脚本。 该脚本检索终结点和密钥。
PowerShell:订阅自定义主题的事件 用于创建自定义主题的订阅的示例脚本。 它将事件发送到 WebHook。

ARM 模板教程

标题 说明
资源管理器模板:自定义主题和 WebHook 终结点 用于创建自定义主题及其订阅的资源管理器模板。 它将事件发送到 WebHook。
资源管理器模板:自定义主题和事件中心终结点 用于创建自定义主题的订阅的资源管理器模板。 它将事件发送到 Azure 事件中心。

备注

Azure 数字孪生可以将事件通知路由到你使用事件网格创建的自定义主题。 有关详细信息,请参阅 Azure 数字孪生文档中的终结点和事件路由

后续步骤

请参阅以下文章: