Azure Service Bus en tant que source Event Grid

Cet article décrit les propriétés et le schéma des événements Service Bus. Pour une présentation des schémas d’événements, consultez Schéma d’événements Azure Event Grid.

Notes

Seul l’espace de noms Service Bus de niveau Premium prend en charge l’intégration des événements. Les niveaux De base et Standard ne prennent pas en charge l’intégration avec Event Grid.

Types d’événement disponibles

Service Bus émet les types d’événements suivants :

Type d'événement Description
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Déclenché lorsqu’un nouveau message actif arrive dans une file d’attente ou un abonnement, sans récepteur à l’écoute.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Déclenché lorsque des messages actifs arrivent dans une file d’attente de lettres mortes et qu’aucun récepteur n’est actif.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Événement levé toutes les 30 secondes lorsque des messages actifs sont présents dans une file d’attente ou un abonnement, même s’il existe des écouteurs actifs sur cette file d’attente ou cet abonnement spécifique. Il est également levé lorsque le nombre de messages actifs passe de 0 à une valeur positive pour la file d’attente ou l’abonnement.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Événement levé toutes les 30 secondes lorsque des messages sont présents dans une entité de lettres mortes d’une file d’attente ou d’un abonnement, même s’il existe des écouteurs actifs sur l’entité de lettres mortes de cette file d’attente ou cet abonnement spécifique. Il est également levé lorsque le nombre de messages de lettres mortes passe de 0 à une valeur positive pour l’entité de lettres mortes de la file d’attente ou de l’abonnement.

Exemple d’événement

Messages actifs disponibles sans écouteurs

Cet événement est généré si des messages actifs sont présents dans une file d’attente ou un abonnement et qu’aucun récepteur n’est à l’écoute.

[{
  "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"
}]

Messages de lettres mortes disponibles sans écouteurs

Le schéma pour un événement de file d’attente de lettres mortes est similaire. Vous obtenez au moins un événement par file d’attente de lettres mortes qui contient des messages et aucun récepteur actif.

[{
  "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"
}]

Notifications périodiques disponibles concernant les messages actifs

Cet événement est généré régulièrement si des messages actifs sont présents dans une file d’attente ou un abonnement, même s’il existe des écouteurs actifs sur cette file d’attente ou cet abonnement spécifique.

[{
  "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"
}]

Notifications périodiques disponibles concernant les messages de lettres mortes

Cet événement est généré régulièrement si des messages de lettres mortes sont présents dans une file d’attente ou un abonnement, même s’il existe des écouteurs actifs sur l’entité de lettres mortes de cette file d’attente ou cet abonnement spécifique.

[{
  "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"
}]

Propriétés d’événement

Un événement contient les données générales suivantes :

Propriété Type Description
topic string Chemin d’accès complet à la source de l’événement. Ce champ n’est pas modifiable. Event Grid fournit cette valeur.
subject string Chemin de l’objet de l’événement, défini par le serveur de publication.
eventType string Un des types d’événements inscrits pour cette source d’événement.
eventTime string L’heure à quelle l’événement est généré selon l’heure UTC du fournisseur.
id string Identificateur unique de l’événement.
data object Données d’événement de stockage Blob.
dataVersion string Version du schéma de l’objet de données. Le serveur de publication définit la version du schéma.
metadataVersion string Version du schéma des métadonnées d’événement. Event Grid définit le schéma des propriétés de niveau supérieur. Event Grid fournit cette valeur.

L’objet de données comporte les propriétés suivantes :

Propriété Type Description
namespaceName string Espace de noms Service Bus dans lequel figure la ressource.
requestUri string URI vers la file d’attente spécifique ou l’abonnement qui génère l’événement.
entityType string Type d’entité Service Bus générant des événements (file d’attente ou abonnement).
queueName string File d’attente contenant des messages actives en cas d’abonnement à une file d’attente. Valeur null si des rubriques / abonnements sont utilisés.
topicName string Rubrique à laquelle appartient l’abonnement Service Bus contenant les messages actifs. Valeur null si une file d’attente est utilisée.
subscriptionName string Abonnement Service Bus contenant les messages actifs. Valeur null si une file d’attente est utilisée.

Tutoriels et articles de procédures

Intitulé Description
Tutoriel : Exemples d’intégration d’Azure Service Bus et d’Azure Event Grid Event Grid envoie des messages à partir de la rubrique Service Bus à l’application de fonction et à l’application logique.
Intégration d’Azure Service Bus à Event Grid Vue d’ensemble de l’intégration de Service Bus à Event Grid.

Remarque

Lorsqu’un basculement se produit pour un espace de noms Service Bus activé par géoréplication DR, l’espace de noms secondaire n’émet pas d’événements dans Event Grid. Vous devez ajouter manuellement l’abonnement Event Grid pour l’espace de noms secondaire.

Étapes suivantes