共用方式為


Microsoft.SignalRService signalR

Bicep 資源定義

signalR 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SignalRService/signalR 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.SignalRService/signalR@2024-08-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
        }
      ]
    }
    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'
  }
  tags: {
    {customized property}: 'string'
  }
}

ClientConnectionCountRule 物件

設定 類型 屬性,以指定物件的類型。

針對 ThrottleByJwtCustomClaimRule,請使用:

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

針對 ThrottleByJwtSignatureRule,請使用:

{
  maxCount: int
  type: 'ThrottleByJwtSignatureRule'
}

針對 ThrottleByUserIdRule,請使用:

{
  maxCount: int
  type: 'ThrottleByUserIdRule'
}

屬性值

ApplicationFirewallSettings

名字 描述 價值
clientConnectionCountRules 控制用戶端連線計數的規則 ClientConnectionCountRule[]

ClientConnectionCountRule

名字 描述 價值
類型 針對類型 ThrottleByJwtCustomClaimRule,設定為 'ThrottleByJwtCustomClaimRule'。 針對類型 ThrottleByJwtSignatureRule,設定為 'ThrottleByJwtSignatureRule'。 將 設定為類型 ThrottleByUserIdRule的 'ThrottleByUserIdRule'。 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule' (必要)

IPRule

名字 描述 價值
行動 Azure 網路 ACL 動作。 'Allow'
'Deny'
價值 IP 或 CIDR 或 ServiceTag 字串

LiveTraceCategory

名字 描述 價值
啟用 指出是否啟用即時追蹤類別。
可用的值:true、false。
不區分大小寫。
字串
名字 取得或設定即時追蹤類別的名稱。
可用值:ConnectivityLogs、MessagingLogs。
不區分大小寫。
字串

LiveTraceConfiguration

名字 描述 價值
類別 取得或設定類別組態的清單。 LiveTraceCategory[]
啟用 指出是否啟用即時追蹤。
當其設定為 true 時,即時追蹤用戶端可以連線到服務。
否則,即時追蹤客戶端無法連線到服務,因此不論您在「類別」中設定什麼,都無法接收任何記錄檔。
可用的值:true、false。
不區分大小寫。
字串

ManagedIdentity

名字 描述 價值
類型 代表身分識別類型:systemAssigned、userAssigned、None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 取得或設定使用者指派的身分識別 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 價值
資源 資源,指出目標資源的應用程式識別碼 URI。
它也會出現在已發行令牌的 aud (audience) 宣告中。
字串

ManagedIdentityUserAssignedIdentities

名字 描述 價值

Microsoft.SignalRService/signalR

名字 描述 價值
身份 類別代表用於要求和回應的受控識別 ManagedIdentity
服務的種類 'RawWebSockets'
'SignalR'
位置 資源所在的地理位置 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 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'
名字 私人端點連線的名稱 字串 (必要)

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
字串 (必要)
這個特定 SKU 的選擇性層。 'Standard' 或 'Free'。

Basic 已被取代,請改用 Standard
'Basic'
'Free'
'Premium'
'Standard'

ServerlessSettings

名字 描述 價值
connectionTimeoutInSeconds 取得或設定用戶端連線逾時。 選擇性設定。
以秒為單位的值。
預設值為30秒。
如果訊息預期以較短的間隔傳送,客戶應將逾時設定為較短的期間,
而且希望客戶端在傳送最後一則訊息之後更快速地中斷連線。
如果訊息預期以較長的間隔傳送,您可以將逾時設定為較長的期間,
他們想要在此會話期間讓相同的用戶端連線保持運作。
如果用戶端未在此間隔內收到訊息(包括 keep-alive),服務就會將用戶端視為已中斷連線。
int

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

ServerlessUpstreamSettings

名字 描述 價值
範本 取得或設定上游 URL 範本的清單。 順序很重要,而第一個比對範本會生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 價值
allowedOrigins 取得或設定應該允許進行跨原始來源呼叫的來源清單(例如:http://example.com:12345)。 使用 「*」 來允許所有專案。 如果省略,則默認允許全部。 string[]

SignalRFeature

名字 描述 價值
FeatureFlags 是 Azure SignalR 服務支援的功能。
- ServiceMode:SignalR 服務的後端伺服器旗標。 允許的值:「預設值」:有自己的後端伺服器;「無伺服器」:您的應用程式沒有後端伺服器;“Classic”:用於回溯兼容性。 同時支援預設和無伺服器模式,但不建議;“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 動作。 'Allow'
'Deny'
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。
回應只會包含明確設定的featureFlags。
未明確設定featureFlag時,將會使用其全域預設值
但請記住,預設值並不表示 「false」。 其會因不同的FeatureFlags而有所不同。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 資源的實時追蹤組態。 LiveTraceConfiguration
networkACLs 資源的網路 ACL SignalRNetworkACLs
publicNetworkAccess 啟用或停用公用網路存取。 預設為 「Enabled」。
啟用時,仍會套用網路 ACL。
停用時,不論您在網路 ACL 中設定什麼,公用網路存取一律會停用。
字串
regionEndpointEnabled 啟用或停用區域端點。 預設為 「Enabled」。
停用時,新的連線將不會路由傳送至此端點,但現有的連線不會受到影響。
此屬性是特定複本。 不允許停用沒有複本的區域端點。
字串
resourceLogConfiguration Microsoft.SignalRService 資源的資源記錄組態。 ResourceLogConfiguration
resourceStopped 停止或啟動資源。 默認為 「False」。。
當情況成立時,資源的數據平面會關閉。
若為 false,則會啟動資源的數據平面。
字串
無伺服器 無伺服器設定。 ServerlessSettings
tls 資源的 TLS 設定 SignalRTlsSettings
上游 當服務處於無伺服器模式時,上游的設定。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 價值
clientCertEnabled 如果已啟用,請在 TLS 交握期間要求客戶端憑證。 免費層不支援。 免費層將會忽略任何輸入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 價值
claimName JWT 令牌中宣告的名稱。 將會匯總具有相同宣告值的用戶端連線。 如果在令牌中找不到宣告,則會允許連線。 字串 (必要)
maxCount 相同 Jwt 宣告值允許的最大連線計數。 如果連線計數超過此值,具有相同 Jwt 宣告的用戶端將遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtCustomClaimRule' (必要)

ThrottleByJwtSignatureRule

名字 描述 價值
maxCount 相同 JWT 簽章允許的最大連線計數。 如果連線計數超過此值,具有相同 JWT 簽章的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtSignatureRule' (必要)

ThrottleByUserIdRule

名字 描述 價值
maxCount 相同使用者標識碼允許的連線計數上限。 如果連線計數超過此值,則具有相同使用者標識碼的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByUserIdRule' (必要)

TrackedResourceTags

名字 描述 價值

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 連線的用戶端要求,它會先POST至此 URL:http://example.com/chat/api/connect
字串 (必要)

UserAssignedIdentityProperty

名字 描述 價值

快速入門範例

下列快速入門範例會部署此資源類型。

Bicep 檔案 描述
部署 Azure SignalR 服務 此範本會使用範本建立 Azure SignalR 服務。

ARM 樣本資源定義

signalR 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SignalRService/signalR 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.SignalRService/signalR",
  "apiVersion": "2024-08-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
      } ]
    },
    "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"
  },
  "tags": {
    "{customized property}": "string"
  }
}

ClientConnectionCountRule 物件

設定 類型 屬性,以指定物件的類型。

針對 ThrottleByJwtCustomClaimRule,請使用:

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

針對 ThrottleByJwtSignatureRule,請使用:

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

針對 ThrottleByUserIdRule,請使用:

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

屬性值

ApplicationFirewallSettings

名字 描述 價值
clientConnectionCountRules 控制用戶端連線計數的規則 ClientConnectionCountRule[]

ClientConnectionCountRule

名字 描述 價值
類型 針對類型 ThrottleByJwtCustomClaimRule,設定為 'ThrottleByJwtCustomClaimRule'。 針對類型 ThrottleByJwtSignatureRule,設定為 'ThrottleByJwtSignatureRule'。 將 設定為類型 ThrottleByUserIdRule的 'ThrottleByUserIdRule'。 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule' (必要)

IPRule

名字 描述 價值
行動 Azure 網路 ACL 動作。 'Allow'
'Deny'
價值 IP 或 CIDR 或 ServiceTag 字串

LiveTraceCategory

名字 描述 價值
啟用 指出是否啟用即時追蹤類別。
可用的值:true、false。
不區分大小寫。
字串
名字 取得或設定即時追蹤類別的名稱。
可用值:ConnectivityLogs、MessagingLogs。
不區分大小寫。
字串

LiveTraceConfiguration

名字 描述 價值
類別 取得或設定類別組態的清單。 LiveTraceCategory[]
啟用 指出是否啟用即時追蹤。
當其設定為 true 時,即時追蹤用戶端可以連線到服務。
否則,即時追蹤客戶端無法連線到服務,因此不論您在「類別」中設定什麼,都無法接收任何記錄檔。
可用的值:true、false。
不區分大小寫。
字串

ManagedIdentity

名字 描述 價值
類型 代表身分識別類型:systemAssigned、userAssigned、None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 取得或設定使用者指派的身分識別 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 價值
資源 資源,指出目標資源的應用程式識別碼 URI。
它也會出現在已發行令牌的 aud (audience) 宣告中。
字串

ManagedIdentityUserAssignedIdentities

名字 描述 價值

Microsoft.SignalRService/signalR

名字 描述 價值
apiVersion API 版本 '2024-08-01-preview'
身份 類別代表用於要求和回應的受控識別 ManagedIdentity
服務的種類 'RawWebSockets'
'SignalR'
位置 資源所在的地理位置 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 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'
名字 私人端點連線的名稱 字串 (必要)

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
字串 (必要)
這個特定 SKU 的選擇性層。 'Standard' 或 'Free'。

Basic 已被取代,請改用 Standard
'Basic'
'Free'
'Premium'
'Standard'

ServerlessSettings

名字 描述 價值
connectionTimeoutInSeconds 取得或設定用戶端連線逾時。 選擇性設定。
以秒為單位的值。
預設值為30秒。
如果訊息預期以較短的間隔傳送,客戶應將逾時設定為較短的期間,
而且希望客戶端在傳送最後一則訊息之後更快速地中斷連線。
如果訊息預期以較長的間隔傳送,您可以將逾時設定為較長的期間,
他們想要在此會話期間讓相同的用戶端連線保持運作。
如果用戶端未在此間隔內收到訊息(包括 keep-alive),服務就會將用戶端視為已中斷連線。
int

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

ServerlessUpstreamSettings

名字 描述 價值
範本 取得或設定上游 URL 範本的清單。 順序很重要,而第一個比對範本會生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 價值
allowedOrigins 取得或設定應該允許進行跨原始來源呼叫的來源清單(例如:http://example.com:12345)。 使用 「*」 來允許所有專案。 如果省略,則默認允許全部。 string[]

SignalRFeature

名字 描述 價值
FeatureFlags 是 Azure SignalR 服務支援的功能。
- ServiceMode:SignalR 服務的後端伺服器旗標。 允許的值:「預設值」:有自己的後端伺服器;「無伺服器」:您的應用程式沒有後端伺服器;“Classic”:用於回溯兼容性。 同時支援預設和無伺服器模式,但不建議;“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 動作。 'Allow'
'Deny'
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。
回應只會包含明確設定的featureFlags。
未明確設定featureFlag時,將會使用其全域預設值
但請記住,預設值並不表示 「false」。 其會因不同的FeatureFlags而有所不同。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 資源的實時追蹤組態。 LiveTraceConfiguration
networkACLs 資源的網路 ACL SignalRNetworkACLs
publicNetworkAccess 啟用或停用公用網路存取。 預設為 「Enabled」。
啟用時,仍會套用網路 ACL。
停用時,不論您在網路 ACL 中設定什麼,公用網路存取一律會停用。
字串
regionEndpointEnabled 啟用或停用區域端點。 預設為 「Enabled」。
停用時,新的連線將不會路由傳送至此端點,但現有的連線不會受到影響。
此屬性是特定複本。 不允許停用沒有複本的區域端點。
字串
resourceLogConfiguration Microsoft.SignalRService 資源的資源記錄組態。 ResourceLogConfiguration
resourceStopped 停止或啟動資源。 默認為 「False」。。
當情況成立時,資源的數據平面會關閉。
若為 false,則會啟動資源的數據平面。
字串
無伺服器 無伺服器設定。 ServerlessSettings
tls 資源的 TLS 設定 SignalRTlsSettings
上游 當服務處於無伺服器模式時,上游的設定。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 價值
clientCertEnabled 如果已啟用,請在 TLS 交握期間要求客戶端憑證。 免費層不支援。 免費層將會忽略任何輸入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 價值
claimName JWT 令牌中宣告的名稱。 將會匯總具有相同宣告值的用戶端連線。 如果在令牌中找不到宣告,則會允許連線。 字串 (必要)
maxCount 相同 Jwt 宣告值允許的最大連線計數。 如果連線計數超過此值,具有相同 Jwt 宣告的用戶端將遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtCustomClaimRule' (必要)

ThrottleByJwtSignatureRule

名字 描述 價值
maxCount 相同 JWT 簽章允許的最大連線計數。 如果連線計數超過此值,具有相同 JWT 簽章的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtSignatureRule' (必要)

ThrottleByUserIdRule

名字 描述 價值
maxCount 相同使用者標識碼允許的連線計數上限。 如果連線計數超過此值,則具有相同使用者標識碼的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByUserIdRule' (必要)

TrackedResourceTags

名字 描述 價值

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 連線的用戶端要求,它會先POST至此 URL:http://example.com/chat/api/connect
字串 (必要)

UserAssignedIdentityProperty

名字 描述 價值

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
部署 Azure SignalR 服務

部署至 Azure
此範本會使用範本建立 Azure SignalR 服務。

Terraform (AzAPI 提供者) 資源定義

signalR 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SignalRService/signalR 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SignalRService/signalR@2024-08-01-preview"
  name = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  kind = "string"
  location = "string"
  body = jsonencode({
    properties = {
      applicationFirewall = {
        clientConnectionCountRules = [
          {
            type = "string"
            // For remaining properties, see ClientConnectionCountRule 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
      }
      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"
  }
}

ClientConnectionCountRule 物件

設定 類型 屬性,以指定物件的類型。

針對 ThrottleByJwtCustomClaimRule,請使用:

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

針對 ThrottleByJwtSignatureRule,請使用:

{
  maxCount = int
  type = "ThrottleByJwtSignatureRule"
}

針對 ThrottleByUserIdRule,請使用:

{
  maxCount = int
  type = "ThrottleByUserIdRule"
}

屬性值

ApplicationFirewallSettings

名字 描述 價值
clientConnectionCountRules 控制用戶端連線計數的規則 ClientConnectionCountRule[]

ClientConnectionCountRule

名字 描述 價值
類型 針對類型 ThrottleByJwtCustomClaimRule,設定為 'ThrottleByJwtCustomClaimRule'。 針對類型 ThrottleByJwtSignatureRule,設定為 'ThrottleByJwtSignatureRule'。 將 設定為類型 ThrottleByUserIdRule的 'ThrottleByUserIdRule'。 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule' (必要)

IPRule

名字 描述 價值
行動 Azure 網路 ACL 動作。 'Allow'
'Deny'
價值 IP 或 CIDR 或 ServiceTag 字串

LiveTraceCategory

名字 描述 價值
啟用 指出是否啟用即時追蹤類別。
可用的值:true、false。
不區分大小寫。
字串
名字 取得或設定即時追蹤類別的名稱。
可用值:ConnectivityLogs、MessagingLogs。
不區分大小寫。
字串

LiveTraceConfiguration

名字 描述 價值
類別 取得或設定類別組態的清單。 LiveTraceCategory[]
啟用 指出是否啟用即時追蹤。
當其設定為 true 時,即時追蹤用戶端可以連線到服務。
否則,即時追蹤客戶端無法連線到服務,因此不論您在「類別」中設定什麼,都無法接收任何記錄檔。
可用的值:true、false。
不區分大小寫。
字串

ManagedIdentity

名字 描述 價值
類型 代表身分識別類型:systemAssigned、userAssigned、None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 取得或設定使用者指派的身分識別 ManagedIdentityUserAssignedIdentities

ManagedIdentitySettings

名字 描述 價值
資源 資源,指出目標資源的應用程式識別碼 URI。
它也會出現在已發行令牌的 aud (audience) 宣告中。
字串

ManagedIdentityUserAssignedIdentities

名字 描述 價值

Microsoft.SignalRService/signalR

名字 描述 價值
身份 類別代表用於要求和回應的受控識別 ManagedIdentity
服務的種類 'RawWebSockets'
'SignalR'
位置 資源所在的地理位置 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 3
最大長度 = 3
模式 = ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ (必要)
性能 描述資源屬性的類別 SignalRProperties
sku 資源的計費資訊。 ResourceSku
標籤 資源標籤 標記名稱和值的字典。
類型 資源類型 “Microsoft.SignalRService/signalR@2024-08-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'
名字 私人端點連線的名稱 字串 (必要)

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
字串 (必要)
這個特定 SKU 的選擇性層。 'Standard' 或 'Free'。

Basic 已被取代,請改用 Standard
'Basic'
'Free'
'Premium'
'Standard'

ServerlessSettings

名字 描述 價值
connectionTimeoutInSeconds 取得或設定用戶端連線逾時。 選擇性設定。
以秒為單位的值。
預設值為30秒。
如果訊息預期以較短的間隔傳送,客戶應將逾時設定為較短的期間,
而且希望客戶端在傳送最後一則訊息之後更快速地中斷連線。
如果訊息預期以較長的間隔傳送,您可以將逾時設定為較長的期間,
他們想要在此會話期間讓相同的用戶端連線保持運作。
如果用戶端未在此間隔內收到訊息(包括 keep-alive),服務就會將用戶端視為已中斷連線。
int

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

ServerlessUpstreamSettings

名字 描述 價值
範本 取得或設定上游 URL 範本的清單。 順序很重要,而第一個比對範本會生效。 UpstreamTemplate[]

SignalRCorsSettings

名字 描述 價值
allowedOrigins 取得或設定應該允許進行跨原始來源呼叫的來源清單(例如:http://example.com:12345)。 使用 「*」 來允許所有專案。 如果省略,則默認允許全部。 string[]

SignalRFeature

名字 描述 價值
FeatureFlags 是 Azure SignalR 服務支援的功能。
- ServiceMode:SignalR 服務的後端伺服器旗標。 允許的值:「預設值」:有自己的後端伺服器;「無伺服器」:您的應用程式沒有後端伺服器;“Classic”:用於回溯兼容性。 同時支援預設和無伺服器模式,但不建議;“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 動作。 'Allow'
'Deny'
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。
回應只會包含明確設定的featureFlags。
未明確設定featureFlag時,將會使用其全域預設值
但請記住,預設值並不表示 「false」。 其會因不同的FeatureFlags而有所不同。
SignalRFeature[]
liveTraceConfiguration Microsoft.SignalRService 資源的實時追蹤組態。 LiveTraceConfiguration
networkACLs 資源的網路 ACL SignalRNetworkACLs
publicNetworkAccess 啟用或停用公用網路存取。 預設為 「Enabled」。
啟用時,仍會套用網路 ACL。
停用時,不論您在網路 ACL 中設定什麼,公用網路存取一律會停用。
字串
regionEndpointEnabled 啟用或停用區域端點。 預設為 「Enabled」。
停用時,新的連線將不會路由傳送至此端點,但現有的連線不會受到影響。
此屬性是特定複本。 不允許停用沒有複本的區域端點。
字串
resourceLogConfiguration Microsoft.SignalRService 資源的資源記錄組態。 ResourceLogConfiguration
resourceStopped 停止或啟動資源。 默認為 「False」。。
當情況成立時,資源的數據平面會關閉。
若為 false,則會啟動資源的數據平面。
字串
無伺服器 無伺服器設定。 ServerlessSettings
tls 資源的 TLS 設定 SignalRTlsSettings
上游 當服務處於無伺服器模式時,上游的設定。 ServerlessUpstreamSettings

SignalRTlsSettings

名字 描述 價值
clientCertEnabled 如果已啟用,請在 TLS 交握期間要求客戶端憑證。 免費層不支援。 免費層將會忽略任何輸入。 bool

ThrottleByJwtCustomClaimRule

名字 描述 價值
claimName JWT 令牌中宣告的名稱。 將會匯總具有相同宣告值的用戶端連線。 如果在令牌中找不到宣告,則會允許連線。 字串 (必要)
maxCount 相同 Jwt 宣告值允許的最大連線計數。 如果連線計數超過此值,具有相同 Jwt 宣告的用戶端將遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtCustomClaimRule' (必要)

ThrottleByJwtSignatureRule

名字 描述 價值
maxCount 相同 JWT 簽章允許的最大連線計數。 如果連線計數超過此值,具有相同 JWT 簽章的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByJwtSignatureRule' (必要)

ThrottleByUserIdRule

名字 描述 價值
maxCount 相同使用者標識碼允許的連線計數上限。 如果連線計數超過此值,則具有相同使用者標識碼的用戶端將會遭到拒絕。 預設值為 20。 int

約束:
最小值 = 0
最大值 = 2147483647
類型 'ThrottleByUserIdRule' (必要)

TrackedResourceTags

名字 描述 價值

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 連線的用戶端要求,它會先POST至此 URL:http://example.com/chat/api/connect
字串 (必要)

UserAssignedIdentityProperty

名字 描述 價值