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 | 用戶端以相同的驗證名稱重新連線,導致上一個連線終止。 |
下一步
- 若要深入了解事件方格系統主題,請參閱系統主題
- 若要了解事件方格命名空間所發出的事件及其使用方式,請參閱 MQTT 用戶端生命週期事件。