Azure Event Hubs als Handlerziel in Abonnements für Azure Event Grid-Namespacethemen
Ein Ereignishandler ist der Ort, an den das Ereignis gesendet wird. Der Handler ergreift zur Verarbeitung des Ereignisses eine Maßnahme. Hier ist die Liste der unterstützten Ereignishandler für Namespacethemen:
Verwenden Sie Event Hubs, wenn Ihre Lösung Ereignisse von Event Grid schneller abruft, als die Ereignisse verarbeitet werden können. Sobald sich die Ereignisse in einem Event Hub befinden, kann Ihre Anwendung Ereignisse aus dem Event Hub gemäß einem eigenen Zeitplan verarbeiten. Sie können die Ereignisverarbeitung in Anpassung an die eingehenden Ereignisse skalieren.
Nachrichtenheader
Im Folgenden finden Sie die Eigenschaften, die Sie im Header eines Ereignisses oder einer an Event Hubs gesendeten Nachricht erhalten:
Name der Eigenschaft | Beschreibung |
---|---|
aeg-subscription-name |
Name des Ereignisabonnements. |
aeg-delivery-count |
Anzahl von Versuchen, die für das Ereignis durchgeführt wurden |
aeg-output-event-id |
Vom System generierte Ereignis-ID. |
aeg-compatibility-mode-enabled |
Diese Eigenschaft ist nur verfügbar und wird bei der Bereitstellung über Event Grid-Namespaces festgelegt. Derzeit ist der einzig mögliche Wert falsch. Es soll den Ereignishandlern helfen, zwischen Ereignissen, die über Event Grid-Namespaces geliefert werden, und benutzerdefinierten Event Grid-Themen/Systemthemen/Partner-Namespaces usw. zu unterscheiden. |
aeg-metadata-version |
Die Metadatenversion des Ereignisses Stellt die Version der Spezifikation für das Ereignisschema der Cloud dar. |
REST-Beispiele
Ereignisabonnement mit Event Hubs als Ereignishandler unter Verwendung der vom System zugewiesenen Identität
{
"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}"
}
}
}
}
}
}
}
Ereignisabonnement mit Event Hubs als Ereignishandler mithilfe der vom Benutzer zugewiesenen Identität
{
"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}"
}
}
}
}
}
}
}
Ereignisabonnement mit einem Ziel für unzustellbare Nachrichten, konfiguriert für einen Event Hubs-Ereignishandler
{
"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}"
}
}
}
}
}
}
}
Ereignisabonnement mit Übermittlungseigenschaften, die in einem Event Hubs-Ereignishandler konfiguriert sind
{
"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"
}
}
]
}
}
}
}
}
}
}
Event Hubs spezifische Übermittlungseigenschaften
Mit Ereignisabonnements können Sie HTTP-Header einrichten, die in übermittelte Ereignisse eingeschlossen werden. Diese Funktion ermöglicht es Ihnen, die benutzerdefinierten Header festzulegen, die ein Ziel erfordert. Sie können benutzerdefinierte Header für die Ereignisse festlegen, die an Azure Event Hubs übermittelt werden.
Wenn Sie Ereignisse für eine bestimmte Partition innerhalb eines Event Hub veröffentlichen müssen, legen Sie die PartitionKey
-Eigenschaft für Ihr Ereignisabonnement fest, um den Partitionsschlüssel zur Identifizierung der Event Hub-Zielpartition anzugeben.
Headername | Headertyp |
---|---|
PartitionKey |
Statisch oder dynamisch |
Weitere Informationen finden Sie unter Benutzerdefinierte Übermittlungseigenschaften auf Namespaces.
Azure-Portal
Wenn Sie ein Ereignisabonnement erstellen, bei dem der Ereignisübermittlungsmodus auf Push festgelegt ist, können Sie Event Hubs als Ereignishandlertyp auswählen und einen Event Hub als Handler konfigurieren.
Schrittanleitungen finden Sie unter Verwenden von Event Hubs als Ziel für Namespacethemen.
Azure CLI
Schrittanleitungen finden Sie unter Konfigurieren von Event Hubs als Ziel.