使用 HTTP 进行推送传递

本文是在什么是 Azure 事件网格?的基础上编写的,其中提供了在开始使用事件网格的 HTTP 推送传递之前需要了解的最基本信息。 其中介绍了基本概念、资源模型和支持的消息传递模式。 本文档末尾提供了有用的链接,这些链接指向有关如何使用事件网格的指南文章,以及提供深入概念信息的文章。

重要

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

核心概念

CloudEvents

事件网格遵守 CNCF 的开放标准 CloudEvents 1.0 规范,使用 HTTP 协议绑定JSON 格式。 这意味着,解决方案将使用如下例所示的格式发布和使用事件消息:

{
    "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 事件中心通常会处理的一种数据。

主题和事件订阅

发布到事件网格的事件进入主题。主题是逻辑上包含所有事件的资源。 事件订阅是与单个主题关联的配置资源。 此外,你可以使用事件订阅来设置事件选择条件,以便基于主题中的整个事件集定义订阅服务器可用的事件集合。

Diagram showing a topic and associated event subscriptions.

推送传递

以下资源支持推送传递。 请单击链接以详细了解每个资源。

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

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

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

High-level diagram showing all the topic types that support push delivery, namely System, Custom, Domain, and Partner topics.

后续步骤

以下文章提供了有关如何使用事件网格的信息,或有关概念的更多信息。