次の方法で共有


Event Grid のソースとしての Azure Event Grid 名前空間

この記事では、Azure Event Grid 名前空間イベントのプロパティとスキーマについて説明します。 イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。

使用可能なイベントの種類

Azure Event Grid 名前空間は、次のイベントの種類を出力します。

イベントの種類 Description
Microsoft.EventGrid.MQTTClientSessionConnected MQTT クライアントのセッションが Event Grid に接続されたときに発行されます。
Microsoft.EventGrid.MQTTClientSessionDisconnected MQTT クライアントのセッションが Event Grid から切断されたときに発行されます。
Microsoft.EventGrid.MQTTClientCreatedOrUpdated Event Grid 名前空間で MQTT クライアントが作成または更新されたときに発行されます。
Microsoft.EventGrid.MQTTClientDeleted MQTT クライアントが Event Grid 名前空間から削除されたときに発行されます。

イベントの例

このサンプル イベントは、MQTT クライアントのセッションが Event Grid に接続されたときに発生するイベントのスキーマを示しています。

[{
  "specversion": "1.0",
  "id": "5249c38a-a048-46dd-8f60-df34fcdab06c",
  "time": "2023-07-29T01:23:49.6454046Z",
  "type": "Microsoft.EventGrid.MQTTClientSessionConnected",
  "source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1/sessions/session1",
  "data": {
    "namespaceName": "myns",
    "clientAuthenticationName": "client1",
    "clientSessionName": "session1",
    "sequenceNumber": 1
  }
}]

このサンプル イベントは、MQTT クライアントのセッションが Event Grid に切断されたときに発生するイベントのスキーマを示しています。

[{
  "specversion": "1.0",
  "id": "e30e5174-787d-4e19-8812-580148bfcf7b",
  "time": "2023-07-29T01:27:40.2446871Z",
  "type": "Microsoft.EventGrid.MQTTClientSessionDisconnected",
  "source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1/sessions/session1",
  "data": {
    "namespaceName": "myns",
    "clientAuthenticationName": "client1",
    "clientSessionName": "session1",
    "sequenceNumber": 1,
    "disconnectionReason": "ClientInitiatedDisconnect"
  }
}]

このサンプル イベントは、Event Grid 名前空間で MQTT クライアントが作成または更新されたときに発生するイベントのスキーマを示しています。

[{
  "specversion": "1.0",
  "id": "383d1562-c95f-4095-936c-688e72c6b2bb",
  "time": "2023-07-29T01:14:35.8928724Z",
  "type": "Microsoft.EventGrid.MQTTClientCreatedOrUpdated",
  "source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1",
  "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 クライアントが Event Grid 名前空間から削除されたときに発生するイベントのスキーマを示しています。

[{
  "specversion": "1.0",
  "id": "2a93aaf9-66c2-4f8e-9ba3-8d899c10bf17",
  "time": "2023-07-29T01:30:52.5620566Z",
  "type": "Microsoft.EventGrid.MQTTClientDeleted",
  "source": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myrg/providers/Microsoft.EventGrid/namespaces/myns",
  "subject": "clients/client1",
  "data": {
    "namespaceName": "myns",
    "clientName": "client1",
    "clientAuthenticationName": "client1"
  }
}]

イベントのプロパティ

すべてのイベントには、同じ最上位レベルのデータが含まれています。

プロパティ タイプ Description
id 文字列 イベント専用の識別子。
source 文字列 イベント ソースの完全なリソース パス。 このフィールドは書き込み可能ではありません。 この値は Event Grid によって指定されます。
subject 文字列 発行元が定義したイベントの対象のパス。
type 文字列 このイベント ソースに登録されているイベントの種類の 1 つ。
time 文字列 プロバイダーの UTC 時刻に基づいてイベントが生成される時刻。
data オブジェクト Event Grid 名前空間のイベント データ。
specversion 文字列 CloudEvents スキーマ仕様バージョン。

データ オブジェクトには、次のプロパティが含まれています。

プロパティ タイプ Description
namespaceName 文字列 MQTT クライアントが接続または切断された Event Grid 名前空間の名前。
clientAuthenticationName 文字列 MQTT クライアントが認証のためにサービスに提示する一意の識別子。 この大文字と小文字が区別される文字列は最大 128 文字で、UTF-8 文字をサポートします。
clientSessionName 文字列 MQTT クライアントのセッション用一意識別子。 この大文字と小文字が区別される文字列は最大 128 文字で、UTF-8 文字をサポートします。
sequenceNumber long MQTT クライアント セッションの接続または切断されたイベントの順序を示すのに役立つ数値。 最新のイベントには、前のイベントより大きいシーケンス番号があります。
disconnectionReason 文字列 MQTT クライアントのセッションの切断の理由。 値は、切断理由テーブルの値のいずれかである可能性があります。
createdOn 文字列 プロバイダーの UTC 時刻に基づいてクライアント リソースが作成される時間。
updatedOn 文字列 プロバイダーの UTC 時刻に基づいてクライアント リソースが最後に更新された時刻。 クライアント リソースが更新されなかった場合、この値は 'createdOn' プロパティの値と同じです
clientName 文字列 プロバイダーの UTC 時刻に基づいてクライアント リソースが最後に更新された時刻。 クライアント リソースが更新されなかった場合、この値は 'createdOn' プロパティの値と同じです。
state 文字列 クライアントの構成済み状態。 値は[有効]または[無効]にできます。
attributes 文字列 クライアント リソースに割り当てられるキーと値のペア属性の配列。

切断の理由:

次の一覧では、disconnectionReason のさまざまな値とその説明について詳しく説明します。

切断の理由 Description
ClientAuthenticationError 認証上の理由でクライアントが切断された (証明書の有効期限切れ、クライアントが無効になった、クライアント構成が変更されたなど)
クライアント認証エラー 承認の理由でクライアントが切断されました (たとえば、トピックスペース、アクセス許可バインディング、またはクライアント グループの構成が変更されたため)
ClientError クライアントが不適切な要求を送信したか、サポートされていない機能の 1 つを使用して、サービスによって接続が終了しました。
ClientInitiatedDisconnect クライアントは、MQTT の DISCONNECT パケットまたは WebSocket 経由の MQTT 用クローズフレームを使用して、円滑に切断を開始します。
ConnectionLost クライアントとサーバーの接続が失われます。
IpForbidden クライアントの IP アドレスは、IP フィルターまたはプライベート リンクの構成によってブロックされます。
QuotaExceeded クライアントが 1 つ以上の調整制限を超えたので、サービスによる接続の終了が発生しました。
ServerError 予期しないサーバー エラーが原因で接続が終了しました
ServerInitiatedDisconnect サーバーが操作上の理由で正常な切断を開始する
SessionOverflow クライアントの未確認 QoS1 メッセージのキューが制限に達したため、サーバーによる接続終了が発生しました
SessionTakenOver クライアントが同じ認証名で再接続され、その結果、前の接続が終了しました。

次のステップ