共用方式為

Azure SignalR 作为Azure Event Grid源

本文提供SignalR Service事件的属性和架构。 有关事件架构的简介,请参阅Azure Event Grid事件架构。 它还提供了一系列快速入门和教程,用于将 Azure SignalR 用作事件源。

可用事件类型

SignalR Service发出以下事件类型:

事件类型 说明
Microsoft。SignalRService.ClientConnectionConnected 当连接客户端连接时引发。
Microsoft。SignalRService.ClientConnectionDisconnected 当客户端连接断开连接时引发。

示例事件

以下示例显示了客户端连接已连接事件的架构:

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
  "subject": "/hub/chat",
  "type": "Microsoft.SignalRService.ClientConnectionConnected",
  "time": "2019-06-10T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "timestamp": "2019-06-10T18:41:00.9584103Z",
    "hubName": "chat",
    "connectionId": "crH0uxVSvP61p5wkFY1x1A",
    "userId": "user-eymwyo23"
  },
  "specversion": "1.0"
}]

客户端连接断开连接事件的架构类似于:

[{
  "source": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
  "subject": "/hub/chat",
  "type": "Microsoft.SignalRService.ClientConnectionDisconnected",
  "time": "2019-06-10T18:41:00.9584103Z",
  "id": "831e1650-001e-001b-66ab-eeb76e069631",
  "data": {
    "timestamp": "2019-06-10T18:41:00.9584103Z",
    "hubName": "chat",
    "connectionId": "crH0uxVSvP61p5wkFY1x1A",
    "userId": "user-eymwyo23",
    "errorMessage": "Internal server error."
  },
  "specversion": "1.0"
}]

事件属性

事件具有以下顶级数据:

属性 类型 说明
source 字符串 事件源的完整资源路径。 此字段不可写入。 事件网格提供此值。
subject 字符串 Publisher定义的事件主题路径。
type 字符串 此事件源的一个注册事件类型。
time 字符串 基于提供程序 UTC 时间的事件生成时间。
id 字符串 事件的唯一标识符。
data 对象 SignalR Service事件数据。
specversion 字符串 CloudEvents 架构规范版本。

数据对象具有以下属性:

属性 类型 说明
timestamp 字符串 基于提供程序 UTC 时间的事件生成时间。
hubName 字符串 客户端连接所属的中心。
connectionId 字符串 客户端连接的唯一标识符。
userId 字符串 声明中定义的用户标识符。
errorMessage 字符串 导致连接断开连接的错误。

教程和操作指南

标题 说明
使用事件网格 将Azure SignalR Service与事件网格集成概述。
如何向事件网格发送Azure SignalR Service事件 演示如何通过事件网格将Azure SignalR Service事件发送到应用程序。

后续步骤