Compartir a través de

事件中心作为 Azure 事件网格事件的事件处理程序

事件处理程序是发送事件的位置。 处理程序将执行操作来处理事件。 几个 Azure 服务已自动配置为处理事件,Azure 事件中心是其中之一。

如果解决方案从事件网格获取事件的速度快于处理事件的速度,请使用事件中心。 事件位于事件中心后,应用程序可以按自己的计划处理事件中心的事件。 可以通过缩放事件处理来处理传入的事件。

教程

请看以下示例:

标题 说明
快速入门:使用 Azure CLI 将自定义事件路由到 Azure 事件中心 将自定义事件发送到事件中心以供应用程序处理。
资源管理器模板:创建事件网格自定义主题,并将事件发送到事件中心 用于创建自定义主题的订阅的资源管理器模板。 它将事件发送到 Azure 事件中心。

消息标头

以下是在消息标头中接收的属性:

属性名称 说明
aeg-subscription-name 事件订阅的名称。
aeg-delivery-count 针对该事件进行尝试的次数。
aeg-event-type

事件的类型。

可以为下列值之一:

  • SubscriptionValidation
  • 通知
  • SubscriptionDeletion
aeg-metadata-version

事件的元数据版本。

对于“事件网格事件架构”,此属性表示元数据版本;对于“云事件架构”,此属性表示规范版本。

aeg-data-version

事件的数据版本。

对于“事件网格事件架构”,此属性表示数据版本;对于“云事件架构”,此属性不适用。

aeg-output-event-id 事件网格事件的 ID。

REST 示例(适用于 PUT)

事件中心

{
  "properties": 
  {
    "destination": 
    {
      "endpointType": "EventHub",
      "properties": 
      {
        "resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<EVENT HUBS NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>"
      }
    },
    "eventDeliverySchema": "EventGridSchema"
  }
}

事件中心 - 使用托管标识传送

{
  "properties": {
    "deliveryWithResourceIdentity": 
    {
      "identity": 
      {
        "type": "SystemAssigned"
      },
      "destination": 
      {
        "endpointType": "EventHub",
        "properties": 
        {
          "resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<EVENT HUBS NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>"
        }
      }
    },
    "eventDeliverySchema": "EventGridSchema"
  }
}

传递属性

通过事件订阅,可以设置已传递事件中包含的 HTTP 头。 此功能可用于设置目标所需的自定义标头。 可以对传递到 Azure 事件中心的事件设置自定义标头。

如果需要将事件发布到某个事件中心内的特定分区,请在事件订阅上设置 PartitionKey 属性,以指定用于标识目标事件中心分区的分区键。

标头名称 标头类型
PartitionKey 静态或动态

有关详细信息,请参阅自定义传送属性

后续步骤

如需支持的事件处理程序的列表,请参阅事件处理程序一文。