Compartilhar via

使用 HTTP 进行推送传递

本文在什么是 Azure Event Grid?一文的基础上,提供在开始使用 Event Grid 通过 HTTP 进行拉取和推送传递之前的重要信息。 它涵盖基本概念、资源模型和消息传送模式。 本文档末尾提供了有用的链接,这些链接指向有关如何使用事件网格的指南文章,以及提供深入概念信息的文章。

重要

本文档提供有关使用 HTTP 协议的事件网格功能的入门信息。 本文适合需要在云中集成应用程序的用户。

核心概念

CloudEvents

事件网格使用 JSON 格式HTTP 协议绑定,符合 Cloud Native Computing Foundation (CNCF)的开放标准 CloudEvents 1.0 规范。 此一致性意味着解决方案使用类似于以下示例的格式发布和使用事件消息:

{
    "specversion" : "1.0",
    "type" : "com.yourcompany.order.created",
    "source" : "https://yourcompany.com/orders/",
    "subject" : "O-28964",
    "id" : "A234-1234-1234",
    "time" : "2018-04-05T17:31:00Z",
    "comexampleextension1" : "value",
    "comexampleothervalue" : 5,
    "datacontenttype" : "application/json",
    "data" : {
       "orderId" : "O-28964",
       "URL" : "https://com.yourcompany/orders/O-28964"
    }
}

什么是事件?

事件是完全描述系统中所发生情况的最少量信息。 事件通常被称为离散事件,因为它代表了关于系统的一个独特且独立的事实,这一事实可以提供可采取行动的见解。 示例包括:com.yourcompany.Orders.OrderCreated、org.yourorg.GeneralLedger.AccountChanged、io.solutionname.Auth.MaximumNumberOfUserLoginAttemptsReached。

注意

我们交替使用术语“离散事件”、“cloudevents”或“事件”来指代那些通知系统状态更改的消息。

有关事件的详细信息,请参阅事件网格术语

另一种事件

用户社区还将事件称作携带数据点的消息类型,例如设备的一次性读取或 Web 应用程序页面上的一次点击。 通常会基于时间窗口或事件流大小分析这种事件,以得出见解并采取措施。 在事件网格的文档中,此类事件称为 数据点流数据遥测数据。 它们是事件网格的MQTT支持和Azure事件中心通常处理的一类数据。

主题和事件订阅

事件发布到事件网格时,将抵达一个主题,主题是一个逻辑上包含所有事件的资源。 事件订阅是与单个主题关联的配置资源。 除其他事项外,通过事件订阅来设置事件选择条件,以便从主题中所有存在的事件中定义可供订阅者使用的事件子集。

显示主题和关联事件订阅的示意图。

推送配送

以下资源支持推送传递。 选择链接,了解有关每个资源的详细信息。

  • 系统主题。 使用系统主题接收来自Azure服务的系统事件。
  • 自定义主题。 若要发布应用程序的事件,请使用自定义主题。
  • 领域。 域表示通常与单个应用程序关联的一组域主题,该应用程序需要将事件发送到不同的用户、组织或应用程序组。 一种常见方法是将域主题与同一租户中某个组织的一组目标应用程序或用户相关联。 组织可以是团队、公司部门、公司等。

在系统主题、自定义主题或合作伙伴主题上配置事件订阅,以指定事件的筛选条件并将目标设置为支持的事件处理程序之一。

下图演示了通过某些受支持事件处理程序支持推送传递的资源。

显示支持推送传递的所有主题类型(即系统主题、自定义主题、域主题与合作伙伴主题)的概要示意图。

后续步骤

以下文章提供有关如何使用事件网格或提供有关概念的其他信息的信息。