分享方式:


Azure 服務匯流排作為事件方格來源之一

本文提供服務匯流排事件的屬性與結構描述。 如需事件結構描述的簡介,請參閱 Azure Event Grid 事件結構描述

注意

只有進階層服務匯流排命名空間支援事件整合。 基本層和標準層不支援與事件方格整合。

可用的事件類型

服務匯流排會發出下列事件類型:

事件類型 描述
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners 當佇列或訂用帳戶有作用中的新訊息但沒有接聽的接聽程式時,就會引發。
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners 當無效信件佇列中有作用中的新訊息但沒有作用中的接聽程式時,就會引發。
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications 如果佇列或訂閱中有作用中的訊息,則每 30 秒引發一次,即使該特定佇列或訂閱上有作用中的接聽程式也一樣。 當作用中的訊息計數從 0 轉換為佇列或訂閱的正數值時,也會引發此事件。
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications 如果佇列或訂閱的無效信件實體中有訊息,則每 30 秒引發一次,即使該特定佇列或訂閱的無效信件實體上有作用中的接聽程式也一樣。 當無效信件訊息計數從 0 轉換為佇列或訂閱的無效信件實體的正數值時,也會引發此事件。

事件範例

沒有接聽程式的可用作用中訊息

如果佇列或訂用帳戶有作用中的訊息,但沒有接聽的接收者,就會產生此事件。

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

沒有接聽程式的可用無效信件訊息

無效信件佇列事件的結構描述相當類似。 您可對每個無效信件佇列取得至少一個事件,而此種佇列具有訊息,但沒有作用中的接收者。

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

作用中訊息可用定期通知

如果在特定佇列或訂用帳戶上有著作用中訊息,即使該特定佇列或訂用帳戶上有作用中的接聽程式,也會定期產生此事件。

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

無效信件訊息可用定期通知

如果在特定佇列或訂閱上有著無效信件訊息,即使該特定佇列或訂閱上的無效信件實體上有作用中的接聽程式,也會定期產生此事件。

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

事件屬性

事件具有下列的最高層級資料:

屬性 類型​ 描述
topic string 事件來源的完整資源路徑。 此欄位無法寫入。 事件方格提供此值。
subject string 發行者定義事件主旨的路徑。
eventType string 此事件來源已註冊的事件類型之一。
eventTime string 事件產生的時間,以提供者的 UTC 時間為準。
id string 事件的唯一識別碼。
data object blob 儲存體帳戶。
dataVersion string 資料物件的結構描述版本。 發行者會定義結構描述版本。
metadataVersion string 事件中繼資料的結構描述版本。 「事件方格」會定義最上層屬性的結構描述。 事件方格提供此值。

資料物件具有下列屬性:

屬性 類型​ 描述
namespaceName string 資源所在的服務匯流排命名空間。
requestUri string 要發出此事件的特定佇列或訂用帳戶 URI。
entityType string 發出事件 (佇列或訂閱) 的服務匯流排實體類型。
queueName string 如果訂閱佇列則為作用中訊息佇列。 如果使用主題 / 訂用帳戶則為 null 值。
topicName string 包含作用中訊息所屬之服務匯流排訂用帳戶的主題。 如果使用佇列則為 null 值。
subscriptionName string 具有作用中訊息的服務匯流排訂用帳戶。 如果使用佇列則為 null 值。

教學課程和操作說明

標題 描述
教學課程:Azure 服務匯流排與 Azure 事件方格的整合範例 事件方格會從服務匯流排主題傳送訊息至函式應用程式和邏輯應用程式。
Azure 服務匯流排與 Event Grid 的整合 整合服務匯流排與事件方格的概觀。

注意

當啟用 Geo-DR 的服務匯流排命名空間發生容錯轉移時,次要命名空間不會將事件發出至事件方格。 您必須手動新增次要命名空間的事件方格訂用帳戶。

下一步