你当前正在访问 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@2023-08-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  kind: 'string'
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    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
    }
    tls: {
      clientCertEnabled: bool
    }
    upstream: {
      templates: [
        {
          auth: {
            managedIdentity: {
              resource: 'string'
            }
            type: 'string'
          }
          categoryPattern: 'string'
          eventPattern: 'string'
          hubPattern: 'string'
          urlTemplate: 'string'
        }
      ]
    }
  }
}

属性值

signalR

名称 说明
name 资源名称 字符串 (必需)

字符限制:3-63

有效字符:
字母数字和连字符。

以字母开头。 以字母或数字结尾。

资源名称在 Azure 中必须是唯一的。
location 资源所在的地理位置 字符串 (必需)
标记 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
sku 资源的计费信息。 ResourceSku
kind 服务的种类 “RawWebSockets”
“SignalR”
标识 类表示用于请求和响应的托管标识 ManagedIdentity
properties 描述资源属性的类 SignalRProperties

ManagedIdentity

名称 说明 Value
type 表示标识类型:systemAssigned、userAssigned、None “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 获取或设置用户分配的标识 ManagedIdentityUserAssignedIdentities

ManagedIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentityProperty

UserAssignedIdentityProperty

此对象不包含部署期间要设置的任何属性。 所有属性均为 ReadOnly。

SignalRProperties

名称 说明
cors 跨域资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用 aad auth
设置为 true 时,AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则 AccessKey=xxx 的连接将不起作用。
bool
features featureFlags 的列表。

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

SignalRCorsSettings

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

SignalRFeature

名称 说明
flag 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” (必需)
properties 与此功能相关的可选属性。 SignalRFeatureProperties
value 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 https://docs.microsoft.com/azure/azure-signalr/ 字符串 (必需)

约束:
最小长度 = 1
最大长度 = 128

SignalRFeatureProperties

名称 说明
{customized property} string

LiveTraceConfiguration

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

LiveTraceCategory

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

SignalRNetworkACLs

名称 说明
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]

约束:
最大长度 = 30
privateEndpoints 来自专用终结点的请求的 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

IPRule

名称 说明
action Azure 网络 ACL 操作。 “允许”
“拒绝”
value IP、CIDR 或 ServiceTag string

PrivateEndpointACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
name 专用终结点连接的名称 字符串 (必需)

NetworkACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”

ResourceLogConfiguration

名称 说明
Categories 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceLogCategory

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

ServerlessSettings

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

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

SignalRTlsSettings

名称 说明
clientCertEnabled TLS 握手期间请求客户端证书(如果已启用)。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ServerlessUpstreamSettings

名称 说明
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配的模板会生效。 UpstreamTemplate[]

UpstreamTemplate

名称 说明
auth 上游身份验证设置。 如果未设置,则不对上游消息使用身份验证。 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”匹配。
string
urlTemplate 获取或设置上游 URL 模板。 可以在模板中使用 3 个预定义参数 {hub}、{category} {event},当客户端请求传入时,上游 URL 的值会动态计算。
例如,如果 urlTemplate 为 http://example.com/{hub}/api/{event},且中心 chat 连接的客户端请求,它将首先 POST 到此 URL: http://example.com/chat/api/connect
字符串 (必需)

UpstreamAuthSettings

名称 说明
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
“None”

ManagedIdentitySettings

名称 说明
resource 指示目标资源的应用 ID URI 的资源。
它还显示在已颁发令牌的 aud (受众) 声明中。
字符串

ResourceSku

名称 说明
容量 可选,整数。 资源的单位计数。 默认情况下为 1。

如果存在,则允许使用以下值:
免费: 1;
标准:1、2、3、4、5、6、7、8、9、10、20、30、40、50、60、70、80、90、100:
高级:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100:
int
name SKU 的名称。 必需。

允许的值:Standard_S1、Free_F1、Premium_P1
字符串 (必需)
此特定 SKU 的可选层。 “标准”或“免费”。

Basic 已弃用,请改用 Standard
“Basic”
“免费”
“Premium”
“Standard”

快速入门模板

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

模板 说明
部署 Azure SignalR 服务

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

ARM 模板资源定义

可以使用针对以下操作部署 signalR 资源类型:

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

资源格式

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

{
  "type": "Microsoft.SignalRService/signalR",
  "apiVersion": "2023-08-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "kind": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "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"
    },
    "tls": {
      "clientCertEnabled": "bool"
    },
    "upstream": {
      "templates": [
        {
          "auth": {
            "managedIdentity": {
              "resource": "string"
            },
            "type": "string"
          },
          "categoryPattern": "string",
          "eventPattern": "string",
          "hubPattern": "string",
          "urlTemplate": "string"
        }
      ]
    }
  }
}

属性值

signalR

名称 说明 Value
type 资源类型 “Microsoft.SignalRService/signalR”
apiVersion 资源 API 版本 “2023-08-01-preview”
name 资源名称 字符串 (必需)

字符限制:3-63

有效字符:
字母数字和连字符。

以字母开头。 以字母或数字结尾。

资源名称在 Azure 中必须是唯一的。
location 资源所在的地理位置 字符串 (必需)
标记 资源标记。 标记名称和值的字典。 请参阅 模板中的标记
sku 资源的计费信息。 ResourceSku
kind 服务的种类 “RawWebSockets”
“SignalR”
标识 类表示用于请求和响应的托管标识 ManagedIdentity
properties 描述资源属性的类 SignalRProperties

ManagedIdentity

名称 说明 Value
type 表示标识类型:systemAssigned、userAssigned、None “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 获取或设置用户分配的标识 ManagedIdentityUserAssignedIdentities

ManagedIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentityProperty

UserAssignedIdentityProperty

此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。

SignalRProperties

名称 说明
cors 跨源资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用ad auth
如果设置为 true,则 AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则 AccessKey=xxx 的连接将不起作用。
bool
features featureFlags 的列表。

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

SignalRCorsSettings

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

SignalRFeature

名称 说明
flag 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” (必需)
properties 与此功能相关的可选属性。 SignalRFeatureProperties
value 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 https://docs.microsoft.com/azure/azure-signalr/ 字符串 (必需)

约束:
最小长度 = 1
最大长度 = 128

SignalRFeatureProperties

名称 说明
{customized property} string

LiveTraceConfiguration

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

LiveTraceCategory

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

SignalRNetworkACLs

名称 说明
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]

约束:
最大长度 = 30
privateEndpoints 来自专用终结点的请求的 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

IPRule

名称 说明
action Azure 网络 ACL 操作。 “允许”
“拒绝”
value IP、CIDR 或 ServiceTag 字符串

PrivateEndpointACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
name 专用终结点连接的名称 字符串 (必需)

NetworkACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
'RESTAPI'
“ServerConnection”
“Trace”

ResourceLogConfiguration

名称 说明
Categories 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceLogCategory

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

ServerlessSettings

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

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

SignalRTlsSettings

名称 说明
clientCertEnabled 在 TLS 握手期间请求客户端证书(如果已启用)。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ServerlessUpstreamSettings

名称 说明
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配模板生效。 UpstreamTemplate[]

UpstreamTemplate

名称 说明
auth 上游身份验证设置。 如果未设置,则不会对上游消息使用身份验证。 UpstreamAuthSettings
categoryPattern 获取或设置类别名称的匹配模式。 如果未设置,则与任何类别匹配。
支持 3 种模式:
1. “*”,它与任何类别名称匹配。
2. 将多个类别与 “,”(例如“connections,messages”)合并,它匹配类别“connections”和“messages”。
3. 单个类别名称(例如“connections”)与类别“connections”匹配。
字符串
eventPattern 获取或设置事件名称的匹配模式。 如果未设置,则与任何事件匹配。
支持 3 种模式:
1. “*”,它与任何事件名称匹配。
2. 将多个事件与 “,”合并,例如“connect,disconnect”,它匹配事件“connect”和“disconnect”。
3. 单个事件名称(例如“connect”)与“connect”匹配。
string
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 连接的客户端请求,它将首先 POST 到此 URL: http://example.com/chat/api/connect
字符串 (必需)

UpstreamAuthSettings

名称 说明
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
“None”

ManagedIdentitySettings

名称 说明
resource 指示目标资源的应用 ID URI 的资源。
它还显示在已颁发令牌的 aud (受众) 声明中。
字符串

ResourceSku

名称 说明
容量 可选,整数。 资源的单位计数。 默认情况下为 1。

如果存在,则允许使用以下值:
免费: 1;
标准:1、2、3、4、5、6、7、8、9、10、20、30、40、50、60、70、80、90、100:
高级:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100:
int
name SKU 的名称。 必需。

允许的值:Standard_S1、Free_F1、Premium_P1
字符串 (必需)
此特定 SKU 的可选层。 “标准”或“免费”。

Basic 已弃用,请改用 Standard
“Basic”
“免费”
“Premium”
“Standard”

快速入门模板

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

模板 说明
部署 Azure SignalR 服务

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

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

可以使用针对以下操作部署 signalR 资源类型:

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SignalRService/signalR@2023-08-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      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
      }
      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"
    }
    kind = "string"
  })
}

属性值

signalR

名称 说明 Value
type 资源类型 “Microsoft.SignalRService/signalR@2023-08-01-preview”
name 资源名称 字符串 (必需)

字符限制:3-63

有效字符:
字母数字和连字符。

以字母开头。 以字母或数字结尾。

资源名称在 Azure 中必须是唯一的。
location 资源所在的地理位置 字符串 (必需)
parent_id 若要部署到资源组,请使用该资源组的 ID。 字符串 (必需)
标记 资源标记。 标记名称和值的字典。
sku 资源的计费信息。 ResourceSku
kind 服务的种类 “RawWebSockets”
“SignalR”
标识 类表示用于请求和响应的托管标识 ManagedIdentity
properties 描述资源属性的类 SignalRProperties

ManagedIdentity

名称 说明 Value
type 表示标识类型:systemAssigned、userAssigned、None “SystemAssigned”
“UserAssigned”
identity_ids 获取或设置用户分配的标识 用户标识 ID 的数组。

ManagedIdentityUserAssignedIdentities

名称 说明
{customized property} UserAssignedIdentityProperty

UserAssignedIdentityProperty

此对象不包含部署期间要设置的任何属性。 所有属性均为 ReadOnly。

SignalRProperties

名称 说明
cors 跨域资源共享 (CORS) 设置。 SignalRCorsSettings
disableAadAuth DisableLocalAuth
启用或禁用 aad auth
设置为 true 时,AuthType=aad 的连接将不起作用。
bool
disableLocalAuth DisableLocalAuth
使用 AccessKey 启用或禁用本地身份验证
如果设置为 true,则 AccessKey=xxx 的连接将不起作用。
bool
features featureFlags 的列表。

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

SignalRCorsSettings

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

SignalRFeature

名称 说明
flag 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” (必需)
properties 与此功能相关的可选属性。 SignalRFeatureProperties
value 功能标志的值。 有关允许的值,请参阅 Azure SignalR 服务文档 https://docs.microsoft.com/azure/azure-signalr/ 字符串 (必需)

约束:
最小长度 = 1
最大长度 = 128

SignalRFeatureProperties

名称 说明
{customized property} string

LiveTraceConfiguration

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

LiveTraceCategory

名称 说明
enabled 指示是否启用或启用实时跟踪类别。
可用值:true、false。
不区分大小写。
string
name 获取或设置实时跟踪类别的名称。
可用值:ConnectivityLogs、MessagingLogs。
不区分大小写。
string

SignalRNetworkACLs

名称 说明
defaultAction Azure 网络 ACL 操作。 “允许”
“拒绝”
ipRules 用于筛选公共流量的 IP 规则 IPRule[]

约束:
最大长度 = 30
privateEndpoints 来自专用终结点的请求的 ACL PrivateEndpointACL[]
publicNetwork 网络 ACL NetworkACL

IPRule

名称 说明
action Azure 网络 ACL 操作。 “允许”
“拒绝”
value IP、CIDR 或 ServiceTag 字符串

PrivateEndpointACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任意项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“跟踪”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任意项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“跟踪”
name 专用终结点连接的名称 字符串 (必需)

NetworkACL

名称 说明
allow 允许的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“跟踪”
deny 拒绝的请求类型。 该值可以是一个或多个:ClientConnection、ServerConnection、RESTAPI。 包含任何一项的字符串数组:
“ClientConnection”
“RESTAPI”
“ServerConnection”
“跟踪”

ResourceLogConfiguration

名称 说明
Categories 获取或设置类别配置的列表。 ResourceLogCategory[]

ResourceLogCategory

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

ServerlessSettings

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

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

SignalRTlsSettings

名称 说明
clientCertEnabled 在 TLS 握手期间请求客户端证书(如果已启用)。 免费层不支持。 对于免费层,将忽略任何输入。 bool

ServerlessUpstreamSettings

名称 说明
模板 获取或设置上游 URL 模板的列表。 顺序很重要,第一个匹配模板生效。 UpstreamTemplate[]

UpstreamTemplate

名称 说明
auth 上游身份验证设置。 如果未设置,则不会对上游消息使用身份验证。 UpstreamAuthSettings
categoryPattern 获取或设置类别名称的匹配模式。 如果未设置,则与任何类别匹配。
支持 3 种模式:
1. “*”,它与任何类别名称匹配。
2. 将多个类别与 “,”(例如“connections,messages”)合并,它匹配类别“connections”和“messages”。
3. 单个类别名称(例如“connections”)与类别“connections”匹配。
字符串
eventPattern 获取或设置事件名称的匹配模式。 如果未设置,则与任何事件匹配。
支持 3 种模式:
1. “*”,它与任何事件名称匹配。
2. 将多个事件与 “,”合并,例如“connect,disconnect”,它匹配事件“connect”和“disconnect”。
3. 单个事件名称(例如“connect”)与“connect”匹配。
string
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 连接的客户端请求,它将首先 POST 到此 URL: http://example.com/chat/api/connect
字符串 (必需)

UpstreamAuthSettings

名称 说明
managedIdentity 上游的托管标识设置。 ManagedIdentitySettings
类型 上游身份验证类型枚举。 “ManagedIdentity”
"None"

ManagedIdentitySettings

名称 说明
resource 指示目标资源的应用 ID URI 的资源。
它还出现在已颁发令牌的 aud (受众) 声明中。
字符串

ResourceSku

名称 说明
容量 可选,整数。 资源的单位计数。 默认情况下为 1。

如果存在,则允许以下值:
免费:1;
标准:1、2、3、4、5、6、7、8、9、10、20、30、40、50、60、70、80、90、100:
高级:1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100:
int
name SKU 的名称。 必需。

允许的值:Standard_S1、Free_F1、Premium_P1
字符串 (必需)
此特定 SKU 的可选层。 “标准”或“免费”。

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