Azure Service Bus als Event Grid-Quelle

In diesem Artikel werden die Eigenschaften und das Schema für Service Bus-Ereignisse beschrieben. Eine Einführung in Ereignisschemas finden Sie unter Azure Event Grid-Ereignisschema.

Hinweis

Nur der Service Bus-Namespace der Premium-Ebene unterstützt die Ereignisintegration. Die Ebenen „Basic“ und „Standard“ unterstützen keine Integration in Event Grid.

Verfügbare Ereignistypen

Service Bus gibt die folgenden Ereignistypen aus:

Ereignistyp BESCHREIBUNG
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Wird ausgelöst, wenn eine neue aktive Nachricht in einer Warteschlange oder einem Abonnement eingeht und keine Empfänger lauschen.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Wird ausgelöst, wenn eine neue aktive Nachricht in einer Warteschlange für unzustellbare Nachrichten eingeht und kein lauschender Empfänger vorhanden ist.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Wird alle 30 Sekunden ausgelöst, wenn aktive Nachrichten in einer Warteschlange oder einem Abonnement vorhanden sind, selbst wenn aktive Listener in dieser spezifischen Warteschlange oder des Abonnements vorhanden sind. Eine Auslösung erfolgt ebenfalls, wenn die Anzahl aktiver Nachrichten für die Warteschlange oder das Abonnement von 0 in einen positiven Wert wechselt.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Wird alle 30 Sekunden ausgelöst, wenn aktive Nachrichten in der Entität für unzustellbare Nachrichten einer Warteschlange oder eines Abonnements vorhanden sind, selbst wenn aktive Listener in der Entität für unzustellbare Nachrichten dieser spezifischen Warteschlange oder des Abonnements vorhanden sind. Eine Auslösung erfolgt ebenfalls, wenn die Anzahl unzustellbarer Nachrichten für die Entität für unzustellbare Nachrichten der Warteschlange oder des Abonnements von 0 in einen positiven Wert wechselt.

Beispielereignis

Aktive Nachrichten ohne Listener verfügbar

Dieses Ereignis wird generiert, wenn aktive Nachrichten in einer Warteschlange oder in einem Abonnement vorliegen und keine lauschenden Empfänger vorhanden sind.

[{
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
  "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
  "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Unzustellbare Nachrichten ohne Listener verfügbar

Das Schema für ein Ereignis mit Warteschlange für unzustellbare Nachrichten sieht ganz ähnlich aus. Sie erhalten mindestens ein Ereignis pro Warteschlange für unzustellbare Nachrichten, die Nachrichten enthält und über keine aktiven Empfänger verfügt.

[{
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
  "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
  "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Aktive Nachrichten verfügbar: periodische Benachrichtigungen

Dieses Ereignis wird regelmäßig ausgelöst, wenn aktive Nachrichten in einer Warteschlange oder einem Abonnement vorhanden sind, auch wenn aktive Listener für diese bestimmte Warteschlange oder das Abonnement vorhanden sind.

[{
  "topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
  "subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
  "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Unzustellbare Nachrichten verfügbar: periodische Benachrichtigungen

Dieses Ereignis wird regelmäßig ausgelöst, wenn unzustellbare Nachrichten für eine Warteschlange oder ein Abonnement vorhanden sind, auch wenn aktive Listener für die Deadletter-Entität in dieser bestimmten Warteschlange oder im Abonnement vorhanden sind.

[{
  "topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
  "subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
  "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications",
  "eventTime": "2018-02-14T05:12:53.4133526Z",
  "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
  "data": {
    "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
    "requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
    "entityType": "subscriber",
    "queueName": "QUEUE NAME IF QUEUE",
    "topicName": "TOPIC NAME IF TOPIC",
    "subscriptionName": "SUBSCRIPTION NAME"
  },
  "dataVersion": "1",
  "metadataVersion": "1"
}]

Ereigniseigenschaften

Ein Ereignis weist die folgenden Daten auf oberster Ebene aus:

Eigenschaft Typ Beschreibung
topic Zeichenfolge Vollständiger Ressourcenpfaf zur Ereignisquelle. Dieses Feld ist nicht beschreibbar. Dieser Wert wird von Event Grid bereitgestellt.
subject Zeichenfolge Vom Herausgeber definierter Pfad zum Ereignisbetreff
eventType Zeichenfolge Einer der registrierten Ereignistypen für die Ereignisquelle.
eventTime Zeichenfolge Die Zeit, in der das Ereignis generiert wird, basierend auf der UTC-Zeit des Anbieters.
id Zeichenfolge Eindeutiger Bezeichner für das Ereignis.
data Objekt (object) Ereignisdaten für Blob Storage.
dataVersion Zeichenfolge Die Schemaversion des Datenobjekts. Der Herausgeber definiert die Schemaversion.
metadataVersion Zeichenfolge Die Schemaversion der Ereignismetadaten. Event Grid definiert das Schema der Eigenschaften der obersten Ebene. Dieser Wert wird von Event Grid bereitgestellt.

Das Datenobjekt weist die folgenden Eigenschaften auf:

Eigenschaft Typ Beschreibung
namespaceName Zeichenfolge Der Service Bus-Namespace, in dem sich die Ressource befindet.
requestUri Zeichenfolge Der URI für die spezifische Warteschlange oder das Abonnement, von der bzw. von dem das Ereignis ausgegeben wird.
entityType Zeichenfolge Die Art der Service Bus-Entität, die Ereignisse ausgibt (Warteschlange oder Abonnement).
queueName Zeichenfolge Die Warteschlange mit aktiven Nachrichten, falls eine Warteschlange abonniert wird. Bei Verwendung von Themen/Abonnements ist der Wert NULL.
topicName Zeichenfolge Das Thema, zu dem das Service Bus-Abonnement mit aktiven Nachrichten gehört. Bei Verwendung einer Warteschlange ist der Wert NULL.
subscriptionName Zeichenfolge Das Service Bus-Abonnement mit aktiven Nachrichten. Bei Verwendung einer Warteschlange ist der Wert NULL.

Tutorials und Anleitungen

Titel BESCHREIBUNG
Tutorial: Beispiele für die Integration von Azure Service Bus in Azure Event Grid Event Grid sendet Nachrichten von einem Service Bus-Thema an eine Funktions-App und an eine Logik-App.
Integration von Azure Service Bus in Event Grid Übersicht über die Integration von Service Bus in Event Grid.

Hinweis

Wenn ein Failover für einen Service Bus-Namespace auftritt, der für georedundante Notfallwiederherstellung aktiviert ist, gibt der sekundäre Namespace keine Ereignisse an Event Grid aus. Sie müssen das Event Grid-Abonnement für den sekundären Namespace manuell hinzufügen.

Nächste Schritte