Udostępnij przez


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 / Notatka

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 żaden odbiornik nie nasłuchuje.
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners Generowane, gdy nowe aktywne wiadomości docierają do kolejki wiadomości odrzuconych i brakuje aktywnych nasłuchiwaczy.
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications Podnoszona co 30 sekund, jeśli w kolejce lub subskrypcji są aktywne komunikaty, nawet gdy w tej określonej kolejce lub subskrypcji są aktywni odbiorcy. 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 martwych listów kolejki lub subskrypcji znajdują się komunikaty, nawet jeśli istnieją aktywne odbiorniki w tej konkretnej jednostce martwych listów kolejki lub subskrypcji. Jest on również zgłaszany, gdy liczba wiadomości martwych zmienia się z 0 na wartość dodatnią dla jednostki martwej wiadomości w kolejce lub subskrypcji.

Przykładowe zdarzenie

Aktywne komunikaty dostępne bez nasłuchujących

To zdarzenie jest generowane, jeśli masz aktywne komunikaty w kolejce lub subskrypcji i żaden odbiornik nie nasłuchuje.

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

Wiadomości martwej litery dostępne bez odbiorców

Schemat zdarzenia w martwej kolejce liter jest podobny. Otrzymujesz co najmniej jedno zdarzenie dla kolejki martwych listów, która ma komunikaty 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 i dostępne okresowe powiadomienia

Zdarzenie to jest generowane okresowo, jeśli masz aktywne komunikaty w określonej kolejce lub subskrypcji, nawet gdy istnieją aktywni odbiorcy dla tej 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:

Majątek Typ Opis
topic ciąg Pełna ścieżka zasobu prowadząca do źródła zdarzenia. To pole nie jest możliwe do zapisu. Usługa Event Grid udostępnia tę wartość.
subject ciąg Ścieżka do tematu wydarzenia zdefiniowana przez wydawcę.
eventType ciąg Jeden z zarejestrowanych typów zdarzeń dla tego źródła zdarzeń.
eventTime ciąg Czas generowania zdarzenia na podstawie czasu UTC dostawcy.
id ciąg Unikalny identyfikator zdarzenia.
data obiekt Dane zdarzeń usługi Service Bus.
dataVersion ciąg Wersja schematu obiektu danych. Wydawca definiuje wersję schematu.
metadataVersion ciąg Wersja schematu metadanych zdarzenia. Usługa Event Grid definiuje schemat właściwości najwyższego poziomu. Usługa Event Grid udostępnia tę wartość.

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

Majątek Typ Opis
namespaceName ciąg Przestrzeń nazw usługi Service Bus, w ramach której istnieje zasób.
requestUri ciąg Identyfikator URI do określonej kolejki lub subskrypcji emitującej zdarzenie.
entityType ciąg Rodzaj jednostki usługi Service Bus emitującej zdarzenia (kolejka lub subskrypcja).
queueName ciąg Kolejka z aktywnymi komunikatami w przypadku subskrypcji kolejki. Wartość null, jeśli używasz tematów/subskrypcji.
topicName ciąg Temat, do którego należy subskrypcja usługi Service Bus zawierająca aktywne komunikaty. Wartość null w przypadku korzystania z kolejki.
subscriptionName ciąg 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 / Notatka

Gdy wystąpi awaria w przestrzeni nazw usługi Service Bus, która ma włączone funkcje oznaczone jako Geo-DR, przestrzeń nazw podrzędna nie emituje zdarzeń do usługi Event Grid. Musisz ręcznie dodać subskrypcję usługi Event Grid dla dodatkowej przestrzeni nazw.

Zapoznaj się z dokumentacją usługi Service Bus Geo-Replication , aby dowiedzieć się, co się dzieje z przestrzenią nazw usługi Service Bus włączoną do Geo-Replication.

Dalsze kroki