你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.SignalRService signalR

Bicep 资源定义

可以使用目标操作部署 signalR 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.SignalRService/signalR 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.SignalRService/signalR@2024-10-01-preview' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  name: 'string'
  properties: {
    applicationFirewall: {
      clientConnectionCountRules: [
        {
          type: 'string'
          // For remaining properties, see ClientConnectionCountRule objects
        }
      ]
      clientTrafficControlRules: [
        {
          type: 'string'
          // For remaining properties, see ClientTrafficControlRule objects
        }
      ]
    }
    cors: {
      allowedOrigins: [
        'string'
      ]
    }
    disableAadAuth: bool
    disableLocalAuth: bool
    features: [
      {
        flag: 'string'
        properties: {
          {customized property}: 'string'
        }
        value: 'string'
      }
    ]
    liveTraceConfiguration: {
      categories: [
        {
          enabled: 'string'
          name: 'string'
        }
      ]
      enabled: 'string'
    }
    networkACLs: {
      defaultAction: 'string'
      ipRules: [
        {
          action: 'string'
          value: 'string'
        }
      ]
      privateEndpoints: [
        {
          allow: [
            'string'
          ]
          deny: [
            'string'
          ]
          name: 'string'
        }
      ]
      publicNetwork: {
        allow: [
          'string'
        ]
        deny: [
          'string'
        ]
      }
    }
    publicNetworkAccess: 'string'
    regionEndpointEnabled: 'string'
    resourceLogConfiguration: {
      categories: [
        {
          enabled: 'string'
          name: 'string'
        }
      ]
    }
    resourceStopped: 'string'
    serverless: {
      connectionTimeoutInSeconds: int
      keepAliveIntervalInSeconds: int
    }
    tls: {
      clientCertEnabled: bool
    }
    upstream: {
      templates: [
        {
          auth: {
            managedIdentity: {
              resource: 'string'
            }
            type: 'string'
          }
          categoryPattern: 'string'
          eventPattern: 'string'
          hubPattern: 'string'
          urlTemplate: 'string'
        }
      ]
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

ClientTrafficControlRule 对象

设置 类型 属性以指定对象的类型。

对于 TrafficThrottleByJwtCustomClaimRule,请使用:

{
  aggregationWindowInSeconds: int
  claimName: 'string'
  maxInboundMessageBytes: int
  type: 'TrafficThrottleByJwtCustomClaimRule'
}

对于 TrafficThrottleByJwtSignatureRule,请使用:

{
  aggregationWindowInSeconds: int
  maxInboundMessageBytes: int
  type: 'TrafficThrottleByJwtSignatureRule'
}

对于 TrafficThrottleByUserIdRule,请使用:

{
  aggregationWindowInSeconds: int
  maxInboundMessageBytes: int
  type: 'TrafficThrottleByUserIdRule'
}

ClientConnectionCountRule 对象

设置 类型 属性以指定对象的类型。

对于 ThrottleByJwtCustomClaimRule,请使用:

{
  claimName: 'string'
  maxCount: int
  type: 'ThrottleByJwtCustomClaimRule'
}

对于 ThrottleByJwtSignatureRule,请使用:

{
  maxCount: int
  type: 'ThrottleByJwtSignatureRule'
}

对于 ThrottleByUserIdRule,请使用:

{
  maxCount: int
  type: 'ThrottleByUserIdRule'
}

属性值

ApplicationFirewallSettings

名字 描述 价值
clientConnectionCountRules 控制客户端连接计数的规则 ClientConnectionCountRule[]
clientTrafficControlRules 用于控制客户端流量的规则 ClientTrafficControlRule[]

ClientConnectionCountRule

名字 描述 价值
类型 对于 ThrottleByJwtCustomClaimRule,请设置为“ThrottleByJwtCustomClaimRule”。 对于 ThrottleByJwtSignatureRule,请设置为“ThrottleByJwtSignatureRule”。 对于 type ThrottleByUserIdRule,设置为“ThrottleByUserIdRule”。 'ThrottleByJwtCustomClaimRule'
“ThrottleByJwtSignatureRule”
“ThrottleByUserIdRule”(必需)

ClientTrafficControlRule

名字 描述 价值
类型 对于 TrafficThrottleByJwtCustomClaimRule,请设置为“TrafficThrottleByJwtCustomCustomClaimRule”。 对于 TrafficThrottleByJwtSignatureRule,请设置为“TrafficThrottleByJwtSignatureRule”。 对于 type TrafficThrottleByUserIdRule,设置为“TrafficThrottleByUserIdRule”。 “TrafficThrottleByJwtCustomClaimRule”
“TrafficThrottleByJwtSignatureRule”
“TrafficThrottleByUserIdRule”(必需)

IPRule

名字 描述 价值
行动 Azure 网络 ACL 操作。 “允许”
“拒绝”
价值 IP 或 CIDR 或 ServiceTag 字符串

LiveTraceCategory

名字 描述 价值
启用 指示是否启用了实时跟踪类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置实时跟踪类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

LiveTraceConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 LiveTraceCategory[]
启用 指示是否启用实时跟踪。
如果设置为 true,实时跟踪客户端可以连接到服务。
否则,实时跟踪客户端无法连接到服务,因此无论在“类别”中配置什么,都无法接收任何日志。
可用值:true、false。
不区分大小写。
字符串

ManagedIdentity

名字 描述 价值
类型 表示标识类型:systemAssigned、userAssigned、None “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 获取或设置用户分配的标识 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 价值
资源 指示目标资源的应用 ID URI 的资源。
它还出现在已颁发的令牌的 aud(audience)声明中。
字符串

ManagedIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.SignalRService/signalR

名字 描述 价值
身份 一个类表示用于请求和响应的托管标识 ManagedIdentity
服务类型 “RawWebSockets”
“SignalR”
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 3
模式 = ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ (必需)
性能 描述资源属性的类 SignalRProperties
sku 资源的计费信息。 ResourceSku
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

NetworkACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”

PrivateEndpointACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
名字 专用终结点连接的名称 string (必需)

ResourceLogCategory

名字 描述 价值
启用 指示是否启用资源日志类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置资源日志类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

ResourceLogConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceSku

名字 描述 价值
能力 可选,整数。 资源的单位计数。
1(对于 Free_F1/Standard_S1/Premium_P1,默认为 100,对于Premium_P2)。

如果存在,则允许以下值:
Free_F1:1;
Standard_S1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P2:100,200,300,400,500,600,700,800,900,1000;
int
名字 SKU 的名称。 必填。

允许的值:Standard_S1、Free_F1、Premium_P1、Premium_P2
string (必需)
此特定 SKU 的可选层。 “Standard”或“Free”。

Basic 已弃用,请改用 Standard
“Basic”
“Free”
“Premium”
“Standard”

ServerlessSettings

名字 描述 价值
connectionTimeoutInSeconds 获取或设置客户端连接超时。 可设置可选。
值(以秒为单位)。
默认值为 30 秒。
如果预期消息以较短的间隔发送,客户应将超时设置为较短的时间段,
并且希望客户端在发送最后一条消息后更快地断开连接。
如果预期消息以较长的间隔发送,则可以将超时时间设置为更长的时间。
并且他们希望在此会话期间保持相同的客户端连接处于活动状态。
如果客户端未在此时间间隔内收到消息(包括保持活动状态),则服务会将其视为已断开连接。
int

约束:
最小值 = 1
最大值 = 120
keepAliveIntervalInSeconds 获取或设置 Keep-Alive 间隔。 可设置可选。
值为秒。
默认值为 15 秒。
如果客户希望服务更频繁地发送保持活动消息,则应将此值设置为较短的时间段,
确保及时检查连接状态。
相反,如果客户希望服务发送保持活动消息的频率较低,则可以将此值设置为更长的时间段,
减少网络流量,但请注意,检测断开连接可能需要更长的时间。
此间隔可确保通过向客户端发送定期保持连接消息来维护连接。
int

约束:
最小值 = 1
最大值 = 120

ServerlessUpstreamSettings

名字 描述 价值
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配模板将生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨域调用的源列表(例如:http://example.com:12345)。 使用“*”允许所有。 如果省略,则默认允许全部。 string[]

SignalRFeature

名字 描述 价值
FeatureFlags 是 Azure SignalR 服务支持的功能。
- ServiceMode:SignalR 服务的后端服务器的标志。 允许的值:“Default”:具有自己的后端服务器;“无服务器”:应用程序没有后端服务器;“经典”:为了向后兼容。 支持默认模式和无服务器模式,但不建议这样做;“PredefinedOnly”:供将来使用。
- EnableConnectivityLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableMessagingLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableLiveTrace:实时跟踪允许你了解 Azure SignalR 服务中发生的情况,它将实时提供实时跟踪,在开发自己的基于 Azure SignalR 的 Web 应用程序或自行排查一些问题时会很有帮助。 请注意,实时跟踪被计为将收费的出站消息。 允许的值:“true”/“false”,以启用/禁用实时跟踪功能。
“EnableConnectivityLogs”
“EnableLiveTrace”
“EnableMessagingLogs”
“ServiceMode”(必需)
性能 与此功能相关的可选属性。 SignalRFeatureProperties
价值 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 /azure/azure-signalr/ 。 字符串

约束:
最小长度 = 1
最大长度 = 1 (必需)

SignalRFeatureProperties

名字 描述 价值

SignalRNetworkACLs

名字 描述 价值
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]
privateEndpoints 来自专用终结点的请求 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

SignalRProperties

名字 描述 价值
applicationFirewall 资源的应用程序防火墙设置 ApplicationFirewallSettings
cors 跨域资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用 aad 身份验证
如果设置为 true,则与 AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则与 AccessKey=xxx 的连接将不起作用。
bool
特征 featureFlags 的列表。

不会修改更新操作的参数中包含的 FeatureFlags。
响应将仅包含显式设置的功能标志。
如果未显式设置 featureFlag,将使用其全局默认值
但请记住,默认值并不意味着“false”。 它因不同的 FeatureFlags 而异。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 资源的实时跟踪配置。 LiveTraceConfiguration
networkACLs 资源的网络 ACL SignalRNetworkACLs
publicNetworkAccess 启用或禁用公用网络访问。 默认值为“Enabled”。
启用后,网络 ACL 仍适用。
禁用后,无论在网络 ACL 中设置什么,都会禁用公用网络访问。
字符串
regionEndpointEnabled 启用或禁用区域终结点。 默认值为“Enabled”。
禁用时,不会将新连接路由到此终结点,但现有连接不会受到影响。
此属性特定于副本。 不允许禁用没有副本的区域终结点。
字符串
resourceLogConfiguration Microsoft.SignalRService 资源的资源日志配置。 ResourceLogConfiguration
resourceStopped 停止或启动资源。 默认值为“False”。
如果为 true,资源的数据平面将关闭。
如果为 false,则会启动资源的数据平面。
字符串
无服务器 无服务器设置。 ServerlessSettings
tls 资源的 TLS 设置 SignalRTlsSettings
上游 当服务处于无服务器模式时上游的设置。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 价值
clientCertEnabled 如果启用,请在 TLS 握手期间请求客户端证书。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 价值
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的客户端连接。 如果在令牌中找不到声明,则允许连接。 string (必需)
maxCount 同一 Jwt 声明值允许的最大连接计数。 如果连接计数超过此值,则具有相同 Jwt 声明的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtCustomClaimRule”(必需)

ThrottleByJwtSignatureRule

名字 描述 价值
maxCount 同一 JWT 签名允许的最大连接计数。 如果连接计数超过此值,则具有相同 JWT 签名的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtSignatureRule”(必需)

ThrottleByUserIdRule

名字 描述 价值
maxCount 同一用户 ID 允许的最大连接计数。 如果连接计数超过此值,具有相同用户 ID 的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByUserIdRule”(必需)

TrackedResourceTags

名字 描述 价值

TrafficThrottleByJwtCustomClaimRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的消息字节。 如果在令牌中找不到声明,则会跳过该规则。 string (必需)
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 声明的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtCustomClaimRule”(必需)

TrafficThrottleByJwtSignatureRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 签名的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtSignatureRule”(必需)

TrafficThrottleByUserIdRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 一个时间范围内允许同一用户 ID 的最大累积入站消息字节数。 如果消息字节超过此值,具有相同用户 ID 的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByUserIdRule”(必需)

UpstreamAuthSettings

名字 描述 价值
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
“None”

UpstreamTemplate

名字 描述 价值
认证 上游身份验证设置。 如果未设置,则不会对上游消息使用身份验证。 UpstreamAuthSettings
categoryPattern 获取或设置类别名称的匹配模式。 如果未设置,则它与任何类别匹配。
支持 3 种模式:
1. “*”,它与任何类别名称匹配。
2.将多个类别与“,”例如“connections,messages”,它匹配类别“connections”和“messages”。
3. 单个类别名称,例如“connections”,它与类别“connections”匹配。
字符串
eventPattern 获取或设置事件名称的匹配模式。 如果未设置,它将匹配任何事件。
支持 3 种模式:
1. “*”,它与任何事件名称匹配。
2. 将多个事件与“,”例如“connect,disconnect”,它匹配事件“connect”和“disconnect”。
3. 单个事件名称,例如“connect”,它与“connect”匹配。
字符串
hubPattern 获取或设置中心名称的匹配模式。 如果未设置,它将匹配任何中心。
支持 3 种模式:
1. “*”,它与任何中心名称匹配。
2. 将多个中心与 “,”(例如“hub1,hub2”)合并,它与“hub1”和“hub2”匹配。
3. 单个中心名称,例如“hub1”,它与“hub1”匹配。
字符串
urlTemplate 获取或设置上游 URL 模板。 可以在模板中使用 3 个预定义参数 {hub}, {category} {event} ,当客户端请求传入时,上游 URL 的值将动态计算。
例如,如果 urlTemplate 是 http://example.com/{hub}/api/{event},而中心 chat 的客户端请求会连接,则它将首先发布到此 URL:http://example.com/chat/api/connect
string (必需)

UserAssignedIdentityProperty

名字 描述 价值

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
部署 Azure SignalR 服务 此模板使用模板创建 Azure SignalR 服务。

ARM 模板资源定义

可以使用目标操作部署 signalR 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.SignalRService/signalR 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.SignalRService/signalR",
  "apiVersion": "2024-10-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "kind": "string",
  "location": "string",
  "properties": {
    "applicationFirewall": {
      "clientConnectionCountRules": [ {
        "type": "string"
        // For remaining properties, see ClientConnectionCountRule objects
      } ],
      "clientTrafficControlRules": [ {
        "type": "string"
        // For remaining properties, see ClientTrafficControlRule objects
      } ]
    },
    "cors": {
      "allowedOrigins": [ "string" ]
    },
    "disableAadAuth": "bool",
    "disableLocalAuth": "bool",
    "features": [
      {
        "flag": "string",
        "properties": {
          "{customized property}": "string"
        },
        "value": "string"
      }
    ],
    "liveTraceConfiguration": {
      "categories": [
        {
          "enabled": "string",
          "name": "string"
        }
      ],
      "enabled": "string"
    },
    "networkACLs": {
      "defaultAction": "string",
      "ipRules": [
        {
          "action": "string",
          "value": "string"
        }
      ],
      "privateEndpoints": [
        {
          "allow": [ "string" ],
          "deny": [ "string" ],
          "name": "string"
        }
      ],
      "publicNetwork": {
        "allow": [ "string" ],
        "deny": [ "string" ]
      }
    },
    "publicNetworkAccess": "string",
    "regionEndpointEnabled": "string",
    "resourceLogConfiguration": {
      "categories": [
        {
          "enabled": "string",
          "name": "string"
        }
      ]
    },
    "resourceStopped": "string",
    "serverless": {
      "connectionTimeoutInSeconds": "int",
      "keepAliveIntervalInSeconds": "int"
    },
    "tls": {
      "clientCertEnabled": "bool"
    },
    "upstream": {
      "templates": [
        {
          "auth": {
            "managedIdentity": {
              "resource": "string"
            },
            "type": "string"
          },
          "categoryPattern": "string",
          "eventPattern": "string",
          "hubPattern": "string",
          "urlTemplate": "string"
        }
      ]
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

ClientTrafficControlRule 对象

设置 类型 属性以指定对象的类型。

对于 TrafficThrottleByJwtCustomClaimRule,请使用:

{
  "aggregationWindowInSeconds": "int",
  "claimName": "string",
  "maxInboundMessageBytes": "int",
  "type": "TrafficThrottleByJwtCustomClaimRule"
}

对于 TrafficThrottleByJwtSignatureRule,请使用:

{
  "aggregationWindowInSeconds": "int",
  "maxInboundMessageBytes": "int",
  "type": "TrafficThrottleByJwtSignatureRule"
}

对于 TrafficThrottleByUserIdRule,请使用:

{
  "aggregationWindowInSeconds": "int",
  "maxInboundMessageBytes": "int",
  "type": "TrafficThrottleByUserIdRule"
}

ClientConnectionCountRule 对象

设置 类型 属性以指定对象的类型。

对于 ThrottleByJwtCustomClaimRule,请使用:

{
  "claimName": "string",
  "maxCount": "int",
  "type": "ThrottleByJwtCustomClaimRule"
}

对于 ThrottleByJwtSignatureRule,请使用:

{
  "maxCount": "int",
  "type": "ThrottleByJwtSignatureRule"
}

对于 ThrottleByUserIdRule,请使用:

{
  "maxCount": "int",
  "type": "ThrottleByUserIdRule"
}

属性值

ApplicationFirewallSettings

名字 描述 价值
clientConnectionCountRules 控制客户端连接计数的规则 ClientConnectionCountRule[]
clientTrafficControlRules 用于控制客户端流量的规则 ClientTrafficControlRule[]

ClientConnectionCountRule

名字 描述 价值
类型 对于 ThrottleByJwtCustomClaimRule,请设置为“ThrottleByJwtCustomClaimRule”。 对于 ThrottleByJwtSignatureRule,请设置为“ThrottleByJwtSignatureRule”。 对于 type ThrottleByUserIdRule,设置为“ThrottleByUserIdRule”。 'ThrottleByJwtCustomClaimRule'
“ThrottleByJwtSignatureRule”
“ThrottleByUserIdRule”(必需)

ClientTrafficControlRule

名字 描述 价值
类型 对于 TrafficThrottleByJwtCustomClaimRule,请设置为“TrafficThrottleByJwtCustomCustomClaimRule”。 对于 TrafficThrottleByJwtSignatureRule,请设置为“TrafficThrottleByJwtSignatureRule”。 对于 type TrafficThrottleByUserIdRule,设置为“TrafficThrottleByUserIdRule”。 “TrafficThrottleByJwtCustomClaimRule”
“TrafficThrottleByJwtSignatureRule”
“TrafficThrottleByUserIdRule”(必需)

IPRule

名字 描述 价值
行动 Azure 网络 ACL 操作。 “允许”
“拒绝”
价值 IP 或 CIDR 或 ServiceTag 字符串

LiveTraceCategory

名字 描述 价值
启用 指示是否启用了实时跟踪类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置实时跟踪类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

LiveTraceConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 LiveTraceCategory[]
启用 指示是否启用实时跟踪。
如果设置为 true,实时跟踪客户端可以连接到服务。
否则,实时跟踪客户端无法连接到服务,因此无论在“类别”中配置什么,都无法接收任何日志。
可用值:true、false。
不区分大小写。
字符串

ManagedIdentity

名字 描述 价值
类型 表示标识类型:systemAssigned、userAssigned、None “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 获取或设置用户分配的标识 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 价值
资源 指示目标资源的应用 ID URI 的资源。
它还出现在已颁发的令牌的 aud(audience)声明中。
字符串

ManagedIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.SignalRService/signalR

名字 描述 价值
apiVersion API 版本 '2024-10-01-preview'
身份 一个类表示用于请求和响应的托管标识 ManagedIdentity
服务类型 “RawWebSockets”
“SignalR”
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 3
模式 = ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ (必需)
性能 描述资源属性的类 SignalRProperties
sku 资源的计费信息。 ResourceSku
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.SignalRService/signalR”

NetworkACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”

PrivateEndpointACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
名字 专用终结点连接的名称 string (必需)

ResourceLogCategory

名字 描述 价值
启用 指示是否启用资源日志类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置资源日志类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

ResourceLogConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceSku

名字 描述 价值
能力 可选,整数。 资源的单位计数。
1(对于 Free_F1/Standard_S1/Premium_P1,默认为 100,对于Premium_P2)。

如果存在,则允许以下值:
Free_F1:1;
Standard_S1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P2:100,200,300,400,500,600,700,800,900,1000;
int
名字 SKU 的名称。 必填。

允许的值:Standard_S1、Free_F1、Premium_P1、Premium_P2
string (必需)
此特定 SKU 的可选层。 “Standard”或“Free”。

Basic 已弃用,请改用 Standard
“Basic”
“Free”
“Premium”
“Standard”

ServerlessSettings

名字 描述 价值
connectionTimeoutInSeconds 获取或设置客户端连接超时。 可设置可选。
值(以秒为单位)。
默认值为 30 秒。
如果预期消息以较短的间隔发送,客户应将超时设置为较短的时间段,
并且希望客户端在发送最后一条消息后更快地断开连接。
如果预期消息以较长的间隔发送,则可以将超时时间设置为更长的时间。
并且他们希望在此会话期间保持相同的客户端连接处于活动状态。
如果客户端未在此时间间隔内收到消息(包括保持活动状态),则服务会将其视为已断开连接。
int

约束:
最小值 = 1
最大值 = 120
keepAliveIntervalInSeconds 获取或设置 Keep-Alive 间隔。 可设置可选。
值为秒。
默认值为 15 秒。
如果客户希望服务更频繁地发送保持活动消息,则应将此值设置为较短的时间段,
确保及时检查连接状态。
相反,如果客户希望服务发送保持活动消息的频率较低,则可以将此值设置为更长的时间段,
减少网络流量,但请注意,检测断开连接可能需要更长的时间。
此间隔可确保通过向客户端发送定期保持连接消息来维护连接。
int

约束:
最小值 = 1
最大值 = 120

ServerlessUpstreamSettings

名字 描述 价值
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配模板将生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨域调用的源列表(例如:http://example.com:12345)。 使用“*”允许所有。 如果省略,则默认允许全部。 string[]

SignalRFeature

名字 描述 价值
FeatureFlags 是 Azure SignalR 服务支持的功能。
- ServiceMode:SignalR 服务的后端服务器的标志。 允许的值:“Default”:具有自己的后端服务器;“无服务器”:应用程序没有后端服务器;“经典”:为了向后兼容。 支持默认模式和无服务器模式,但不建议这样做;“PredefinedOnly”:供将来使用。
- EnableConnectivityLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableMessagingLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableLiveTrace:实时跟踪允许你了解 Azure SignalR 服务中发生的情况,它将实时提供实时跟踪,在开发自己的基于 Azure SignalR 的 Web 应用程序或自行排查一些问题时会很有帮助。 请注意,实时跟踪被计为将收费的出站消息。 允许的值:“true”/“false”,以启用/禁用实时跟踪功能。
“EnableConnectivityLogs”
“EnableLiveTrace”
“EnableMessagingLogs”
“ServiceMode”(必需)
性能 与此功能相关的可选属性。 SignalRFeatureProperties
价值 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 /azure/azure-signalr/ 。 字符串

约束:
最小长度 = 1
最大长度 = 1 (必需)

SignalRFeatureProperties

名字 描述 价值

SignalRNetworkACLs

名字 描述 价值
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]
privateEndpoints 来自专用终结点的请求 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

SignalRProperties

名字 描述 价值
applicationFirewall 资源的应用程序防火墙设置 ApplicationFirewallSettings
cors 跨域资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用 aad 身份验证
如果设置为 true,则与 AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则与 AccessKey=xxx 的连接将不起作用。
bool
特征 featureFlags 的列表。

不会修改更新操作的参数中包含的 FeatureFlags。
响应将仅包含显式设置的功能标志。
如果未显式设置 featureFlag,将使用其全局默认值
但请记住,默认值并不意味着“false”。 它因不同的 FeatureFlags 而异。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 资源的实时跟踪配置。 LiveTraceConfiguration
networkACLs 资源的网络 ACL SignalRNetworkACLs
publicNetworkAccess 启用或禁用公用网络访问。 默认值为“Enabled”。
启用后,网络 ACL 仍适用。
禁用后,无论在网络 ACL 中设置什么,都会禁用公用网络访问。
字符串
regionEndpointEnabled 启用或禁用区域终结点。 默认值为“Enabled”。
禁用时,不会将新连接路由到此终结点,但现有连接不会受到影响。
此属性特定于副本。 不允许禁用没有副本的区域终结点。
字符串
resourceLogConfiguration Microsoft.SignalRService 资源的资源日志配置。 ResourceLogConfiguration
resourceStopped 停止或启动资源。 默认值为“False”。
如果为 true,资源的数据平面将关闭。
如果为 false,则会启动资源的数据平面。
字符串
无服务器 无服务器设置。 ServerlessSettings
tls 资源的 TLS 设置 SignalRTlsSettings
上游 当服务处于无服务器模式时上游的设置。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 价值
clientCertEnabled 如果启用,请在 TLS 握手期间请求客户端证书。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 价值
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的客户端连接。 如果在令牌中找不到声明,则允许连接。 string (必需)
maxCount 同一 Jwt 声明值允许的最大连接计数。 如果连接计数超过此值,则具有相同 Jwt 声明的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtCustomClaimRule”(必需)

ThrottleByJwtSignatureRule

名字 描述 价值
maxCount 同一 JWT 签名允许的最大连接计数。 如果连接计数超过此值,则具有相同 JWT 签名的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtSignatureRule”(必需)

ThrottleByUserIdRule

名字 描述 价值
maxCount 同一用户 ID 允许的最大连接计数。 如果连接计数超过此值,具有相同用户 ID 的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByUserIdRule”(必需)

TrackedResourceTags

名字 描述 价值

TrafficThrottleByJwtCustomClaimRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的消息字节。 如果在令牌中找不到声明,则会跳过该规则。 string (必需)
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 声明的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtCustomClaimRule”(必需)

TrafficThrottleByJwtSignatureRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 签名的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtSignatureRule”(必需)

TrafficThrottleByUserIdRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 一个时间范围内允许同一用户 ID 的最大累积入站消息字节数。 如果消息字节超过此值,具有相同用户 ID 的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByUserIdRule”(必需)

UpstreamAuthSettings

名字 描述 价值
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
“None”

UpstreamTemplate

名字 描述 价值
认证 上游身份验证设置。 如果未设置,则不会对上游消息使用身份验证。 UpstreamAuthSettings
categoryPattern 获取或设置类别名称的匹配模式。 如果未设置,则它与任何类别匹配。
支持 3 种模式:
1. “*”,它与任何类别名称匹配。
2.将多个类别与“,”例如“connections,messages”,它匹配类别“connections”和“messages”。
3. 单个类别名称,例如“connections”,它与类别“connections”匹配。
字符串
eventPattern 获取或设置事件名称的匹配模式。 如果未设置,它将匹配任何事件。
支持 3 种模式:
1. “*”,它与任何事件名称匹配。
2. 将多个事件与“,”例如“connect,disconnect”,它匹配事件“connect”和“disconnect”。
3. 单个事件名称,例如“connect”,它与“connect”匹配。
字符串
hubPattern 获取或设置中心名称的匹配模式。 如果未设置,它将匹配任何中心。
支持 3 种模式:
1. “*”,它与任何中心名称匹配。
2. 将多个中心与 “,”(例如“hub1,hub2”)合并,它与“hub1”和“hub2”匹配。
3. 单个中心名称,例如“hub1”,它与“hub1”匹配。
字符串
urlTemplate 获取或设置上游 URL 模板。 可以在模板中使用 3 个预定义参数 {hub}, {category} {event} ,当客户端请求传入时,上游 URL 的值将动态计算。
例如,如果 urlTemplate 是 http://example.com/{hub}/api/{event},而中心 chat 的客户端请求会连接,则它将首先发布到此 URL:http://example.com/chat/api/connect
string (必需)

UserAssignedIdentityProperty

名字 描述 价值

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
部署 Azure SignalR 服务

部署到 Azure
此模板使用模板创建 Azure SignalR 服务。

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 signalR 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.SignalRService/signalR 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SignalRService/signalR@2024-10-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  kind = "string"
  location = "string"
  sku = {
    capacity = int
    name = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      applicationFirewall = {
        clientConnectionCountRules = [
          {
            type = "string"
            // For remaining properties, see ClientConnectionCountRule objects
          }
        ]
        clientTrafficControlRules = [
          {
            type = "string"
            // For remaining properties, see ClientTrafficControlRule objects
          }
        ]
      }
      cors = {
        allowedOrigins = [
          "string"
        ]
      }
      disableAadAuth = bool
      disableLocalAuth = bool
      features = [
        {
          flag = "string"
          properties = {
            {customized property} = "string"
          }
          value = "string"
        }
      ]
      liveTraceConfiguration = {
        categories = [
          {
            enabled = "string"
            name = "string"
          }
        ]
        enabled = "string"
      }
      networkACLs = {
        defaultAction = "string"
        ipRules = [
          {
            action = "string"
            value = "string"
          }
        ]
        privateEndpoints = [
          {
            allow = [
              "string"
            ]
            deny = [
              "string"
            ]
            name = "string"
          }
        ]
        publicNetwork = {
          allow = [
            "string"
          ]
          deny = [
            "string"
          ]
        }
      }
      publicNetworkAccess = "string"
      regionEndpointEnabled = "string"
      resourceLogConfiguration = {
        categories = [
          {
            enabled = "string"
            name = "string"
          }
        ]
      }
      resourceStopped = "string"
      serverless = {
        connectionTimeoutInSeconds = int
        keepAliveIntervalInSeconds = int
      }
      tls = {
        clientCertEnabled = bool
      }
      upstream = {
        templates = [
          {
            auth = {
              managedIdentity = {
                resource = "string"
              }
              type = "string"
            }
            categoryPattern = "string"
            eventPattern = "string"
            hubPattern = "string"
            urlTemplate = "string"
          }
        ]
      }
    }
  })
}

ClientTrafficControlRule 对象

设置 类型 属性以指定对象的类型。

对于 TrafficThrottleByJwtCustomClaimRule,请使用:

{
  aggregationWindowInSeconds = int
  claimName = "string"
  maxInboundMessageBytes = int
  type = "TrafficThrottleByJwtCustomClaimRule"
}

对于 TrafficThrottleByJwtSignatureRule,请使用:

{
  aggregationWindowInSeconds = int
  maxInboundMessageBytes = int
  type = "TrafficThrottleByJwtSignatureRule"
}

对于 TrafficThrottleByUserIdRule,请使用:

{
  aggregationWindowInSeconds = int
  maxInboundMessageBytes = int
  type = "TrafficThrottleByUserIdRule"
}

ClientConnectionCountRule 对象

设置 类型 属性以指定对象的类型。

对于 ThrottleByJwtCustomClaimRule,请使用:

{
  claimName = "string"
  maxCount = int
  type = "ThrottleByJwtCustomClaimRule"
}

对于 ThrottleByJwtSignatureRule,请使用:

{
  maxCount = int
  type = "ThrottleByJwtSignatureRule"
}

对于 ThrottleByUserIdRule,请使用:

{
  maxCount = int
  type = "ThrottleByUserIdRule"
}

属性值

ApplicationFirewallSettings

名字 描述 价值
clientConnectionCountRules 控制客户端连接计数的规则 ClientConnectionCountRule[]
clientTrafficControlRules 用于控制客户端流量的规则 ClientTrafficControlRule[]

ClientConnectionCountRule

名字 描述 价值
类型 对于 ThrottleByJwtCustomClaimRule,请设置为“ThrottleByJwtCustomClaimRule”。 对于 ThrottleByJwtSignatureRule,请设置为“ThrottleByJwtSignatureRule”。 对于 type ThrottleByUserIdRule,设置为“ThrottleByUserIdRule”。 'ThrottleByJwtCustomClaimRule'
“ThrottleByJwtSignatureRule”
“ThrottleByUserIdRule”(必需)

ClientTrafficControlRule

名字 描述 价值
类型 对于 TrafficThrottleByJwtCustomClaimRule,请设置为“TrafficThrottleByJwtCustomCustomClaimRule”。 对于 TrafficThrottleByJwtSignatureRule,请设置为“TrafficThrottleByJwtSignatureRule”。 对于 type TrafficThrottleByUserIdRule,设置为“TrafficThrottleByUserIdRule”。 “TrafficThrottleByJwtCustomClaimRule”
“TrafficThrottleByJwtSignatureRule”
“TrafficThrottleByUserIdRule”(必需)

IPRule

名字 描述 价值
行动 Azure 网络 ACL 操作。 “允许”
“拒绝”
价值 IP 或 CIDR 或 ServiceTag 字符串

LiveTraceCategory

名字 描述 价值
启用 指示是否启用了实时跟踪类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置实时跟踪类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

LiveTraceConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 LiveTraceCategory[]
启用 指示是否启用实时跟踪。
如果设置为 true,实时跟踪客户端可以连接到服务。
否则,实时跟踪客户端无法连接到服务,因此无论在“类别”中配置什么,都无法接收任何日志。
可用值:true、false。
不区分大小写。
字符串

ManagedIdentity

名字 描述 价值
类型 表示标识类型:systemAssigned、userAssigned、None “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 获取或设置用户分配的标识 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 价值
资源 指示目标资源的应用 ID URI 的资源。
它还出现在已颁发的令牌的 aud(audience)声明中。
字符串

ManagedIdentityUserAssignedIdentities

名字 描述 价值

Microsoft.SignalRService/signalR

名字 描述 价值
身份 一个类表示用于请求和响应的托管标识 ManagedIdentity
服务类型 “RawWebSockets”
“SignalR”
位置 资源所在的地理位置 string (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 3
模式 = ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ (必需)
性能 描述资源属性的类 SignalRProperties
sku 资源的计费信息。 ResourceSku
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.SignalRService/signalR@2024-10-01-preview”

NetworkACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”

PrivateEndpointACL

名字 描述 价值
允许 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
否认 被拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“Trace”
名字 专用终结点连接的名称 string (必需)

ResourceLogCategory

名字 描述 价值
启用 指示是否启用资源日志类别。
可用值:true、false。
不区分大小写。
字符串
名字 获取或设置资源日志类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
字符串

ResourceLogConfiguration

名字 描述 价值
类别 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceSku

名字 描述 价值
能力 可选,整数。 资源的单位计数。
1(对于 Free_F1/Standard_S1/Premium_P1,默认为 100,对于Premium_P2)。

如果存在,则允许以下值:
Free_F1:1;
Standard_S1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P1:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;
Premium_P2:100,200,300,400,500,600,700,800,900,1000;
int
名字 SKU 的名称。 必填。

允许的值:Standard_S1、Free_F1、Premium_P1、Premium_P2
string (必需)
此特定 SKU 的可选层。 “Standard”或“Free”。

Basic 已弃用,请改用 Standard
“Basic”
“Free”
“Premium”
“Standard”

ServerlessSettings

名字 描述 价值
connectionTimeoutInSeconds 获取或设置客户端连接超时。 可设置可选。
值(以秒为单位)。
默认值为 30 秒。
如果预期消息以较短的间隔发送,客户应将超时设置为较短的时间段,
并且希望客户端在发送最后一条消息后更快地断开连接。
如果预期消息以较长的间隔发送,则可以将超时时间设置为更长的时间。
并且他们希望在此会话期间保持相同的客户端连接处于活动状态。
如果客户端未在此时间间隔内收到消息(包括保持活动状态),则服务会将其视为已断开连接。
int

约束:
最小值 = 1
最大值 = 120
keepAliveIntervalInSeconds 获取或设置 Keep-Alive 间隔。 可设置可选。
值为秒。
默认值为 15 秒。
如果客户希望服务更频繁地发送保持活动消息,则应将此值设置为较短的时间段,
确保及时检查连接状态。
相反,如果客户希望服务发送保持活动消息的频率较低,则可以将此值设置为更长的时间段,
减少网络流量,但请注意,检测断开连接可能需要更长的时间。
此间隔可确保通过向客户端发送定期保持连接消息来维护连接。
int

约束:
最小值 = 1
最大值 = 120

ServerlessUpstreamSettings

名字 描述 价值
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配模板将生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 价值
allowedOrigins 获取或设置应允许进行跨域调用的源列表(例如:http://example.com:12345)。 使用“*”允许所有。 如果省略,则默认允许全部。 string[]

SignalRFeature

名字 描述 价值
FeatureFlags 是 Azure SignalR 服务支持的功能。
- ServiceMode:SignalR 服务的后端服务器的标志。 允许的值:“Default”:具有自己的后端服务器;“无服务器”:应用程序没有后端服务器;“经典”:为了向后兼容。 支持默认模式和无服务器模式,但不建议这样做;“PredefinedOnly”:供将来使用。
- EnableConnectivityLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableMessagingLogs:“true”/“false”,分别启用/禁用连接日志类别。
- EnableLiveTrace:实时跟踪允许你了解 Azure SignalR 服务中发生的情况,它将实时提供实时跟踪,在开发自己的基于 Azure SignalR 的 Web 应用程序或自行排查一些问题时会很有帮助。 请注意,实时跟踪被计为将收费的出站消息。 允许的值:“true”/“false”,以启用/禁用实时跟踪功能。
“EnableConnectivityLogs”
“EnableLiveTrace”
“EnableMessagingLogs”
“ServiceMode”(必需)
性能 与此功能相关的可选属性。 SignalRFeatureProperties
价值 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 /azure/azure-signalr/ 。 字符串

约束:
最小长度 = 1
最大长度 = 1 (必需)

SignalRFeatureProperties

名字 描述 价值

SignalRNetworkACLs

名字 描述 价值
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]
privateEndpoints 来自专用终结点的请求 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

SignalRProperties

名字 描述 价值
applicationFirewall 资源的应用程序防火墙设置 ApplicationFirewallSettings
cors 跨域资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用 aad 身份验证
如果设置为 true,则与 AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则与 AccessKey=xxx 的连接将不起作用。
bool
特征 featureFlags 的列表。

不会修改更新操作的参数中包含的 FeatureFlags。
响应将仅包含显式设置的功能标志。
如果未显式设置 featureFlag,将使用其全局默认值
但请记住,默认值并不意味着“false”。 它因不同的 FeatureFlags 而异。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 资源的实时跟踪配置。 LiveTraceConfiguration
networkACLs 资源的网络 ACL SignalRNetworkACLs
publicNetworkAccess 启用或禁用公用网络访问。 默认值为“Enabled”。
启用后,网络 ACL 仍适用。
禁用后,无论在网络 ACL 中设置什么,都会禁用公用网络访问。
字符串
regionEndpointEnabled 启用或禁用区域终结点。 默认值为“Enabled”。
禁用时,不会将新连接路由到此终结点,但现有连接不会受到影响。
此属性特定于副本。 不允许禁用没有副本的区域终结点。
字符串
resourceLogConfiguration Microsoft.SignalRService 资源的资源日志配置。 ResourceLogConfiguration
resourceStopped 停止或启动资源。 默认值为“False”。
如果为 true,资源的数据平面将关闭。
如果为 false,则会启动资源的数据平面。
字符串
无服务器 无服务器设置。 ServerlessSettings
tls 资源的 TLS 设置 SignalRTlsSettings
上游 当服务处于无服务器模式时上游的设置。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 价值
clientCertEnabled 如果启用,请在 TLS 握手期间请求客户端证书。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 价值
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的客户端连接。 如果在令牌中找不到声明,则允许连接。 string (必需)
maxCount 同一 Jwt 声明值允许的最大连接计数。 如果连接计数超过此值,则具有相同 Jwt 声明的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtCustomClaimRule”(必需)

ThrottleByJwtSignatureRule

名字 描述 价值
maxCount 同一 JWT 签名允许的最大连接计数。 如果连接计数超过此值,则具有相同 JWT 签名的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByJwtSignatureRule”(必需)

ThrottleByUserIdRule

名字 描述 价值
maxCount 同一用户 ID 允许的最大连接计数。 如果连接计数超过此值,具有相同用户 ID 的客户端将被拒绝。 默认值为 20。 int

约束:
最小值 = 0
最大值 = 2147483647
类型 “ThrottleByUserIdRule”(必需)

TrackedResourceTags

名字 描述 价值

TrafficThrottleByJwtCustomClaimRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
claimName JWT 令牌中声明的名称。 将聚合具有相同声明值的消息字节。 如果在令牌中找不到声明,则会跳过该规则。 string (必需)
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 声明的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtCustomClaimRule”(必需)

TrafficThrottleByJwtSignatureRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 时间范围内允许同一 JWT 签名的最大累积入站消息字节数。 如果消息字节超过此值,具有相同 JWT 签名的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByJwtSignatureRule”(必需)

TrafficThrottleByUserIdRule

名字 描述 价值
aggregationWindowInSeconds 消息字节的聚合窗口。 消息字节将在此窗口中聚合,并在窗口后重置。 默认值为 60 秒。 int

约束:
最小值 = 10
最大值 = 3600
maxInboundMessageBytes 一个时间范围内允许同一用户 ID 的最大累积入站消息字节数。 如果消息字节超过此值,具有相同用户 ID 的客户端将断开连接。 默认值为 1GB。 int

约束:
最小值 = 0
类型 “TrafficThrottleByUserIdRule”(必需)

UpstreamAuthSettings

名字 描述 价值
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
“None”

UpstreamTemplate

名字 描述 价值
认证 上游身份验证设置。 如果未设置,则不会对上游消息使用身份验证。 UpstreamAuthSettings
categoryPattern 获取或设置类别名称的匹配模式。 如果未设置,则它与任何类别匹配。
支持 3 种模式:
1. “*”,它与任何类别名称匹配。
2.将多个类别与“,”例如“connections,messages”,它匹配类别“connections”和“messages”。
3. 单个类别名称,例如“connections”,它与类别“connections”匹配。
字符串
eventPattern 获取或设置事件名称的匹配模式。 如果未设置,它将匹配任何事件。
支持 3 种模式:
1. “*”,它与任何事件名称匹配。
2. 将多个事件与“,”例如“connect,disconnect”,它匹配事件“connect”和“disconnect”。
3. 单个事件名称,例如“connect”,它与“connect”匹配。
字符串
hubPattern 获取或设置中心名称的匹配模式。 如果未设置,它将匹配任何中心。
支持 3 种模式:
1. “*”,它与任何中心名称匹配。
2. 将多个中心与 “,”(例如“hub1,hub2”)合并,它与“hub1”和“hub2”匹配。
3. 单个中心名称,例如“hub1”,它与“hub1”匹配。
字符串
urlTemplate 获取或设置上游 URL 模板。 可以在模板中使用 3 个预定义参数 {hub}, {category} {event} ,当客户端请求传入时,上游 URL 的值将动态计算。
例如,如果 urlTemplate 是 http://example.com/{hub}/api/{event},而中心 chat 的客户端请求会连接,则它将首先发布到此 URL:http://example.com/chat/api/connect
string (必需)

UserAssignedIdentityProperty

名字 描述 价值