事件中心作为 Azure 事件网格事件的事件处理程序
事件处理程序是发送事件的位置。 处理程序将执行操作来处理事件。 几个 Azure 服务已自动配置为处理事件,Azure 事件中心是其中之一。
如果解决方案从事件网格获取事件的速度快于处理事件的速度,请使用事件中心。 事件位于事件中心后,应用程序可以按自己的计划处理事件中心的事件。 可以通过缩放事件处理来处理传入的事件。
教程
请看以下示例:
标题 | 说明 |
---|---|
快速入门:使用 Azure CLI 将自定义事件路由到 Azure 事件中心 | 将自定义事件发送到事件中心以供应用程序处理。 |
资源管理器模板:创建事件网格自定义主题,并将事件发送到事件中心 | 用于创建自定义主题的订阅的资源管理器模板。 它将事件发送到 Azure 事件中心。 |
消息标头
以下是在消息标头中接收的属性:
属性名称 | 说明 |
---|---|
aeg-subscription-name | 事件订阅的名称。 |
aeg-delivery-count | 针对该事件进行尝试的次数。 |
aeg-event-type | 事件的类型。 可以为下列值之一:
|
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 |
静态或动态 |
有关详细信息,请参阅自定义传送属性。
后续步骤
如需支持的事件处理程序的列表,请参阅事件处理程序一文。