分享方式:


Azure 事件方格命名空間 (預覽) 作為事件方格來源

本文提供 Azure 事件方格命名空間事件的屬性和結構描述。 如需事件結構描述的簡介,請參閱 Azure Event Grid 事件結構描述

可用的事件類型

Azure 事件方格命名空間 (預覽) 會發出下列事件類型:

事件類型 描述
Microsoft.EventGrid.MQTTClientSessionConnected 當 MQTT 用戶端的工作階段連線到事件方格時發佈。
Microsoft.EventGrid.MQTTClientSessionDisconnected 當 MQTT 用戶端的工作階段與事件方格中斷連線時發佈。
Microsoft.EventGrid.MQTTClientCreatedOrUpdated 在事件方格命名空間中建立或更新 MQTT 用戶端時發佈。
Microsoft.EventGrid.MQTTClientDeleted 從事件方格命名空間中刪除 MQTT 用戶端時發佈。

事件範例

此範例事件顯示當 MQTT 用戶端的工作階段連線至事件方格時引發的事件結構描述:

[{
  "id": "5249c38a-a048-46dd-8f60-df34fcdab06c",
  "eventTime": "2023-07-29T01:23:49.6454046Z",
  "eventType": "Microsoft.EventGrid.MQTTClientSessionConnected",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1/sessions/session1",
  "dataVersion": "1",
  "metadataVersion": "1",
  "data": {
    "namespaceName": "myns",
    "clientAuthenticationName": "client1",
    "clientSessionName": "session1",
    "sequenceNumber": 1
  }
}]

此範例事件顯示當 MQTT 用戶端的工作階段與事件方格中斷連線時引發的事件結構描述:

[{
  "id": "e30e5174-787d-4e19-8812-580148bfcf7b",
  "eventTime": "2023-07-29T01:27:40.2446871Z",
  "eventType": "Microsoft.EventGrid.MQTTClientSessionDisconnected",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1/sessions/session1",
  "dataVersion": "1",
  "metadataVersion": "1",
  "data": {
    "namespaceName": "myns",
    "clientAuthenticationName": "client1",
    "clientSessionName": "session1",
    "sequenceNumber": 1,
    "disconnectionReason": "ClientInitiatedDisconnect"
  }
}]

此範例事件顯示在事件方格命名空間中建立或更新 MQTT 用戶端時引發的事件結構描述:

[{
  "id": "383d1562-c95f-4095-936c-688e72c6b2bb",
  "eventTime": "2023-07-29T01:14:35.8928724Z",
  "eventType": "Microsoft.EventGrid.MQTTClientCreatedOrUpdated",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1",
  "dataVersion": "1",
  "metadataVersion": "1",
  "data": {
    "createdOn": "2023-07-29T01:14:34.2048108Z",
    "updatedOn": "2023-07-29T01:14:34.2048108Z",
    "namespaceName": "myns",
    "clientName": "client1",
    "clientAuthenticationName": "client1",
    "state": "Enabled",
    "attributes": {
      "attribute1": "value1"
    }
  }
}]

此範例事件顯示從事件方格命名空間中刪除 MQTT 用戶端時引發的事件結構描述:

[{
  "id": "2a93aaf9-66c2-4f8e-9ba3-8d899c10bf17",
  "eventTime": "2023-07-29T01:30:52.5620566Z",
  "eventType": "Microsoft.EventGrid.MQTTClientDeleted",
  "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1",
  "dataVersion": "1",
  "metadataVersion": "1",
  "data": {
    "clientName": "client1",
    "clientAuthenticationName": "client1",
    "namespaceName": "myns"
  }
}]

事件屬性

所有事件都包含相同的最高層級資料:

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

資料物件包含下列屬性:

屬性 類型​ 描述
namespaceName string 已連線或中斷連線 MQTT 用戶端的事件方格命名空間名稱。
clientAuthenticationName string 用戶端向服務呈現以進行驗證的 MQTT 用戶端唯一識別碼。 此區分大小寫的字串長度最多可達 128 個字元,並支援 UTF-8 字元。
clientSessionName string MQTT 用戶端工作階段的唯一識別碼。 此區分大小寫的字串長度最多可達 128 個字元,並支援 UTF-8 字元。
sequenceNumber long 數字,可協助指出已連線或中斷連線事件的 MQTT 用戶端工作階段順序。 最新的事件會有高於前一個事件的序號。
disconnectionReason string MQTT 用戶端工作階段中斷連線的原因。 此值可以是中斷連線原因資料表中的其中一個值。
createdOn string 用戶端資源的建立時間,以提供者的 UTC 時間為準。
updatedOn string 用戶端資源的上次更新時間,以提供者的 UTC 時間為準。 如果用戶端資源從未更新,此值會與 'createdOn' 屬性的值相同
clientName string 用戶端資源的上次更新時間,以提供者的 UTC 時間為準。 如果用戶端資源從未更新,此值會與 'createdOn' 屬性的值相同。
state string 用戶端的已設定狀態。 這個值可以是 [已啟用] 或 [已停用]。
attributes string 指派給用戶端資源的索引鍵/值組屬性陣列。

中斷連線原因:

下列清單詳細說明 disconnectionReason 的不同值及其描述:

中斷連線原因 描述
ClientAuthenticationError 用戶端因任何驗證原因而中斷連線 (例如憑證過期、用戶端已停用或用戶端設定已變更)
ClientAuthorizationError 用戶端因任何授權原因而中斷連線 (例如,因為主題空間、權限繫結或用戶端群組的設定有所變更)
ClientError 用戶端傳送了不正確的要求,或使用了其中一個導致服務終止連線的不支援功能。
ClientInitiatedDisconnect 用戶端透過 MQTT 的 DISCONNECT 封包或透過 WebSocket 的 MQTT 關閉框架,起始正常中斷連線。
ConnectionLost 用戶端-伺服器連線遺失。
IpForbidden 用戶端的 IP 位址遭到 IP 篩選或私人連結設定封鎖。
QuotaExceeded 用戶端超過一或多個節流限制,導致服務終止連線。
ServerError 連線因為未預期的伺服器錯誤而終止
ServerInitiatedDisconnect 伺服器因為任何操作原因而起始正常中斷連線
SessionOverflow 未確認 QoS1 訊息的用戶端佇列達到其限制,導致伺服器終止連線
SessionTakenOver 用戶端以相同的驗證名稱重新連線,導致上一個連線終止。

下一步