Usługa Azure Service Bus jako źródło usługi Event Grid

Ten artykuł zawiera właściwości i schemat zdarzeń usługi Service Bus. Aby zapoznać się ze schematami zdarzeń, zobacz Schemat zdarzeń usługi Azure Event Grid.

Uwaga

Tylko przestrzeń nazw usługi Service Bus w warstwie Premium obsługuje integrację zdarzeń. Warstwy Podstawowa i Standardowa nie obsługują integracji z usługą Event Grid.

Dostępne typy zdarzeń

Usługa Service Bus emituje następujące typy zdarzeń:

Typ zdarzenia opis
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners Zgłaszane, gdy nowy aktywny komunikat pojawia się w kolejce lub subskrypcji i nie ma odbiorników nasłuchiwania.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Zgłaszane, gdy nowe aktywne komunikaty docierają do kolejki utraconych komunikatów i nie ma aktywnych odbiorników.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Wywoływane co 30 sekund, jeśli w kolejce lub subskrypcji są aktywne komunikaty, nawet jeśli w tej określonej kolejce lub subskrypcji są aktywne odbiorniki. Jest on również zgłaszany, gdy liczba aktywnych komunikatów przechodzi z wartości 0 do wartości dodatniej dla kolejki lub subskrypcji.
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications Zgłaszane co 30 sekund, jeśli w jednostce kolejki lub subskrypcji znajdują się komunikaty, nawet jeśli istnieją aktywne odbiorniki w jednostce utraconych komunikatów tej konkretnej kolejki lub subskrypcji. Jest on również zgłaszany, gdy liczba komunikatów utraconych przechodzi z 0 do wartości dodatniej dla jednostki utraconych komunikatów w kolejce lub subskrypcji.

Przykładowe zdarzenie

Aktywne komunikaty dostępne bez odbiorników

To zdarzenie jest generowane, jeśli masz aktywne komunikaty w kolejce lub subskrypcji i nie ma nasłuchujących odbiorników.

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

Komunikaty utraconych wiadomości dostępnych bez odbiorników

Schemat zdarzenia kolejki utraconych komunikatów jest podobny. Otrzymujesz co najmniej jedno zdarzenie na kolejkę utraconych komunikatów i brak aktywnych odbiorników.

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

Aktywne komunikaty dostępne powiadomienia okresowe

To zdarzenie jest generowane okresowo, jeśli masz aktywne komunikaty w określonej kolejce lub subskrypcji, nawet jeśli istnieją aktywne odbiorniki dla tej konkretnej kolejki lub subskrypcji.

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

Komunikaty o utraconych wiadomościach dostępne w okresowych powiadomieniach

To zdarzenie jest generowane okresowo, jeśli w określonej kolejce lub subskrypcji występują komunikaty deadletter, nawet jeśli istnieją aktywne odbiorniki w jednostce deadletter tej konkretnej kolejki lub subskrypcji.

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

Właściwości zdarzenia

Zdarzenie ma następujące dane najwyższego poziomu:

Właściwość Type opis
topic string Pełna ścieżka zasobu do źródła zdarzeń. To pole nie jest możliwe do zapisu. Ta wartość jest podawana przez usługę Event Grid.
subject string Zdefiniowana przez wydawcę ścieżka do tematu zdarzenia.
eventType string Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń.
eventTime string Czas generowania zdarzenia na podstawie czasu UTC dostawcy.
id string Unikatowy identyfikator zdarzenia.
data obiekt Dane zdarzeń usługi Blob Storage.
dataVersion string Wersja schematu obiektu danych. Wydawca definiuje wersję schematu.
metadataVersion string Wersja schematu metadanych zdarzenia. Usługa Event Grid definiuje schemat właściwości najwyższego poziomu. Ta wartość jest podawana przez usługę Event Grid.

Obiekt danych ma następujące właściwości:

Właściwość Type opis
namespaceName string Przestrzeń nazw usługi Service Bus, w ramach których istnieje zasób.
requestUri string Identyfikator URI do określonej kolejki lub subskrypcji emitujące zdarzenie.
entityType string Typ jednostki usługi Service Bus emitujące zdarzenia (kolejka lub subskrypcja).
queueName string Kolejka z aktywnymi komunikatami, jeśli subskrybuje kolejkę. Wartość null, jeśli używasz tematów/subskrypcji.
topicName string Temat, do którego należy subskrypcja usługi Service Bus z aktywnymi komunikatami. Wartość null w przypadku korzystania z kolejki.
subscriptionName string Subskrypcja usługi Service Bus z aktywnymi komunikatami. Wartość null w przypadku korzystania z kolejki.

Samouczki i poradniki

Nazwa opis
Samouczek: przykłady integracji usługi Azure Service Bus z usługą Azure Event Grid Usługa Event Grid wysyła komunikaty z tematu usługi Service Bus do aplikacji funkcji i aplikacji logiki.
Integracja usługi Azure Service Bus z usługą Event Grid Omówienie integracji usługi Service Bus z usługą Event Grid.

Uwaga

Gdy nastąpi przejście w tryb failover dla przestrzeni nazw usługi Service Bus z włączoną geograficzną odzyskiwaniem po awarii, pomocnicza przestrzeń nazw nie emituje zdarzeń do usługi Event Grid. Musisz ręcznie dodać subskrypcję usługi Event Grid dla dodatkowej przestrzeni nazw.

Następne kroki