Freigeben über


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 enthält die folgenden Daten auf oberster Ebene:

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

Das Datenobjekt weist die folgenden Eigenschaften auf:

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

Überprüfen Sie die Dokumentation zu Service Bus Geo-Replication , um zu verstehen, was für einen Service Bus-Namespace geschieht, der Geo-Replication aktiviert ist.

Nächste Schritte