Compartir a través de


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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
            }
          }
        },
        "deadLetterDestinationWithResourceIdentity": {
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "deadLetterDestination": {
            "endpointType": "StorageBlob",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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.

Captura de pantalla que muestra la página Crear suscripción con la opción Insertar seleccionada para el modo de entrega.

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.

Pasos siguientes