Hubs de Eventos do Azure como um destino de manipulador em assinaturas para tópicos de namespace da Grade de Eventos do Azure
Um manipulador de eventos é o local para onde o evento é enviado. O manipulador executa uma ação para processar o evento. Aqui está a lista de manipuladores de eventos suportados para tópicos de namespace:
Use Hubs de Eventos quando sua solução obtém eventos da Grade de Eventos mais rápido do que pode processar os eventos. Quando os eventos estiverem em um hub de eventos, seu aplicativo poderá processar eventos do hub de eventos em sua própria programação. Você pode dimensionar o processamento de eventos para manipular os eventos recebidos.
Cabeçalhos de mensagens
Aqui estão as propriedades que você recebe no cabeçalho de um evento ou mensagem enviada aos Hubs de Eventos:
Property name | Description |
---|---|
aeg-subscription-name |
Nome da assinatura do evento. |
aeg-delivery-count |
Número de tentativas feitas para o evento. |
aeg-output-event-id |
ID do evento gerado pelo sistema. |
aeg-compatibility-mode-enabled |
Essa propriedade só está disponível e definida ao entregar por meio de namespaces de Grade de Eventos. Atualmente, o único valor possível é false. Destina-se a ajudar os manipuladores de eventos a distinguir entre eventos entregues por meio de namespaces da Grade de Eventos versus tópicos personalizados da Grade de Eventos/tópicos do sistema/namespaces de parceiros, etc. |
aeg-metadata-version |
Versão de metadados do evento. Representa a versão de especificação para o esquema de eventos na nuvem. |
Exemplos REST
Assinatura de eventos com Hubs de Eventos como manipulador de eventos usando identidade atribuída ao 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}"
}
}
}
}
}
}
}
Assinatura de eventos com Hubs de Eventos como manipulador de eventos usando identidade atribuída ao usuário
{
"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}"
}
}
}
}
}
}
}
Assinatura de evento com destino de letra morta configurado em um manipulador de eventos de Hubs de Eventos
{
"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}"
}
}
}
}
}
}
}
Assinatura de evento com propriedades de entrega configuradas em um manipulador de eventos de Hubs de Eventos
{
"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"
}
}
]
}
}
}
}
}
}
}
Propriedades de entrega específicas dos Hubs de Eventos
As subscrições de eventos permitem-lhe configurar cabeçalhos HTTP incluídos em eventos entregues. Esse recurso permite que você defina cabeçalhos personalizados que o destino exige. Você pode definir cabeçalhos personalizados nos eventos que são entregues aos Hubs de Eventos do Azure.
Se você precisar publicar eventos em uma partição específica dentro de um hub de eventos, defina a PartitionKey
propriedade em sua assinatura de evento para especificar a chave de partição que identifica a partição do hub de eventos de destino.
Nome do cabeçalho | Tipo de cabeçalho |
---|---|
PartitionKey |
Estático ou dinâmico |
Para obter mais informações, consulte Propriedades de entrega personalizadas em namespaces.
Portal do Azure
Ao criar uma assinatura de evento com o modo de entrega de eventos definido como Push, você pode selecionar Hubs de Eventos como o tipo de manipulador de eventos e configurar um hub de eventos como um manipulador.
Para obter instruções passo a passo, consulte Usar Hubs de Eventos como um destino para tópicos de namespace.
CLI do Azure
Para obter instruções passo a passo, consulte Configurar Hubs de Eventos um destino.