Share via


Azure Event Hubs als Handlerziel in Abonnements für Azure Event Grid-Namespacethemen (Vorschau)

Ein Ereignishandler ist der Ort, an den das Ereignis gesendet wird. Der Handler ergreift zur Verarbeitung des Ereignisses eine Maßnahme. Derzeit ist Azure Event Hubs der einzige Handler, der als Ziel für Abonnements für Namespacethemen unterstützt wird.

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.

Wichtig

Dieses Feature befindet sich derzeit in der VORSCHAU.

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/00000000-0000-0000-0000-000000000000/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/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}"
            }
          }
        }
      }
    }
  }
}

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/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}"
            }
          }
        }
      }
    }
  }
}

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/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"
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}

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.

Screenshot that shows the Create Subscription page with Push selected for Delivery mode.

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.

Nächste Schritte