Azure Event Hubs como destino del controlador en suscripciones a temas del espacio de nombres de Azure Event Grid
Un controlador de eventos es el lugar al que se envía el evento. El controlador realiza una acción para procesar el evento. Esta es la lista de controladores de eventos admitidos para temas de espacio de nombres:
Use Event Hubs cuando la solución obtenga eventos de Event Grid más rápido de lo que puede procesarlos. Una vez que los eventos se encuentren en un centro de eventos, la aplicación puede procesar los eventos del centro de eventos en su propia programación. Puede escalar el procesamiento de eventos para controlar los eventos entrantes.
Encabezados de mensaje
Estas son las propiedades que recibe en el encabezado de un evento o mensaje enviado a Event Hubs:
Nombre de propiedad | Descripción |
---|---|
aeg-subscription-name |
Nombre de la suscripción de eventos. |
aeg-delivery-count |
Número de intentos realizados para el evento. |
aeg-output-event-id |
Identificador de evento generado por el sistema. |
aeg-compatibility-mode-enabled |
Esta propiedad solo está disponible y se establece al entregar a través de espacios de nombres de Event Grid. Actualmente, el único valor posible es false. Está pensado para ayudar a los controladores de eventos a distinguir entre eventos entregados a través de espacios de nombres de Event Grid frente a temas personalizados, temas del sistema o espacios de nombres de asociados, etc., de Event Grid. |
aeg-metadata-version |
Versión de metadatos del evento. Representa la versión de especificación para el esquema de eventos en la nube. |
Ejemplos de REST
Suscripción a eventos con Event Hubs como controlador de eventos mediante la identidad asignada por el sistema
{
"properties": {
"deliveryConfiguration": {
"deliveryMode": "Push",
"push": {
"deliveryWithResourceIdentity": {
"identity": {
"type": "SystemAssigned"
},
"destination": {
"endpointType": "EventHub",
"properties": {
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
}
}
}
}
}
}
}
Suscripción a eventos con Event Hubs como controlador de eventos mediante la identidad asignada por el usuario
{
"properties": {
"deliveryConfiguration": {
"deliveryMode": "Push",
"push": {
"deliveryWithResourceIdentity": {
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
},
"destination": {
"endpointType": "EventHub",
"properties": {
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
}
}
}
}
}
}
}
Suscripción a eventos con destino de mensajes fallidos configurado en un controlador de eventos de Event Hubs
{
"properties": {
"deliveryConfiguration": {
"deliveryMode": "Push",
"push": {
"deliveryWithResourceIdentity": {
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
},
"destination": {
"endpointType": "EventHub",
"properties": {
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
}
}
},
"deadLetterDestinationWithResourceIdentity": {
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
},
"deadLetterDestination": {
"endpointType": "StorageBlob",
"properties": {
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}",
"blobContainerName": "{blob-container-name}"
}
}
}
}
}
}
}
Suscripción a eventos con propiedades de entrega configuradas en un controlador de eventos de Event Hubs
{
"properties": {
"deliveryConfiguration": {
"deliveryMode": "Push",
"push": {
"deliveryWithResourceIdentity": {
"identity": {
"type": "SystemAssigned"
},
"destination": {
"endpointType": "EventHub",
"properties": {
"resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}",
"deliveryAttributeMappings": [
{
"name": "somestaticname",
"type": "Static",
"properties": {
"value": "somestaticvalue"
}
},
{
"name": "somedynamicname",
"type": "Dynamic",
"properties": {
"sourceField": "subject"
}
}
]
}
}
}
}
}
}
}
Propiedades de entrega específicas de Event Hubs
Las suscripciones a eventos permiten configurar encabezados HTTP que se incluyen en los eventos entregados. Esta capacidad permite establecer los encabezados personalizados que el destino requiere. Puede establecer encabezados personalizados en los eventos que se entregan a Azure Event Hubs.
Si necesita publicar eventos en una partición concreta de un centro de eventos, establezca la propiedad PartitionKey
en la suscripción a eventos para especificar la clave de partición que identifica la partición del centro de eventos de destino.
Nombre de encabezado | Tipo de encabezado |
---|---|
PartitionKey |
Estático o dinámico |
Para obtener más información, vea Propiedades de entrega personalizadas en espacios de nombres.
Azure portal
Al crear una suscripción de eventos con el modo de entrega de eventos establecido en Insertar, puede seleccionar Event Hubs como el tipo de controlador de eventos y configurar un centro de eventos como controlador.
Para obtener instrucciones paso a paso, consulte Uso de Event Hubs como destino para temas de espacio de nombres.
CLI de Azure
Para obtener instrucciones paso a paso, consulte Configuración de Event Hubs como un destino.