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 的服務匯流排命名空間發生容錯轉移時,次要命名空間不會將事件發出至事件方格。 您必須手動新增次要命名空間的事件方格訂用帳戶。
下一步
- 如需 Azure Event Grid 的簡介,請參閱什麼是 Event Grid?
- 若要了解 Event Grid 訂用帳戶的建立,請參閱 Event Grid 訂用帳戶結構描述。
- 如需使用 Azure Event Grid 搭配服務匯流排的詳細資訊,請參閱服務匯流排與 Event Grid 的整合概觀。
- 嘗試接收 Functions 或 Logic Apps 的服務匯流排事件.