다음을 통해 공유


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'로 설정합니다. ThrottleByUserIdRule형식에 대해 'ThrottleByUserIdRule'로 설정합니다. 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule'(필수)

ClientTrafficControlRule

이름 묘사
TrafficThrottleByJwtCustomClaimRule형식에 대해 'TrafficThrottleByJwtCustomClaimRule'로 설정합니다. TrafficThrottleByJwtSignatureRule형식에 대해 'TrafficThrottleByJwtSignatureRule'로 설정합니다. TrafficThrottleByUserIdRule형식에 대해 'TrafficThrottleByUserIdRule'로 설정합니다. 'TrafficThrottleByJwtCustomClaimRule'
'TrafficThrottleByJwtSignatureRule'
'TrafficThrottleByUserIdRule'(필수)

IPRule

이름 묘사
행동 Azure 네트워킹 ACL 작업. '허용'
'거부'
IP 또는 CIDR 또는 ServiceTag 문자열

LiveTraceCategory

이름 묘사
사용 라이브 추적 범주를 사용할지 여부를 나타냅니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열
이름 라이브 추적 범주의 이름을 가져오거나 설정합니다.
사용 가능한 값: ConnectivityLogs, MessagingLogs.
대/소문자를 구분하지 않습니다.
문자열

LiveTraceConfiguration

이름 묘사
카테고리 범주 구성 목록을 가져오거나 설정합니다. LiveTraceCategory[]
사용 라이브 추적을 사용하도록 설정할지 여부를 나타냅니다.
true로 설정되면 라이브 추적 클라이언트가 서비스에 연결할 수 있습니다.
그렇지 않으면 라이브 추적 클라이언트가 서비스에 연결할 수 없으므로 "범주"에서 구성한 내용에 관계없이 로그를 받을 수 없습니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열

ManagedIdentity

이름 묘사
id 형식을 나타냅니다. systemAssigned, userAssigned, None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 사용자 할당 ID 가져오기 또는 설정 managedIdentityUserAssignedIdentities

ManagedIdentitySettings

이름 묘사
자원 대상 리소스의 앱 ID URI를 나타내는 리소스입니다.
또한 발급된 토큰의 aud(대상 그룹) 클레임에도 표시됩니다.
문자열

ManagedIdentityUserAssignedIdentities

이름 묘사

Microsoft.SignalRService/signalR

이름 묘사
신원 클래스는 요청 및 응답에 사용되는 관리 ID를 나타냅니다. 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

이름 묘사
용량 선택적 정수입니다. 리소스의 단위 수입니다.
Free_F1/Standard_S1/Premium_P1 경우 1, 기본적으로 Premium_P2 경우 100입니다.

있는 경우 다음 값이 허용됩니다.
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의 선택적 계층입니다. '표준' 또는 '무료'.

더 이상 사용되지 않는 Basic 대신 Standard 사용합니다.
'기본'
'무료'
'프리미엄'
'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 서비스의 백 엔드 서버에 대한 플래그입니다. 허용되는 값: "기본값": 고유한 백 엔드 서버가 있습니다. "서버리스": 애플리케이션에 백 엔드 서버가 없습니다. "클래식": 이전 버전과의 호환성을 위한 것입니다. 기본 모드와 서버리스 모드를 모두 지원하지만 권장되지는 않습니다. "PredefinedOnly": 나중에 사용할 수 있습니다.
- EnableConnectivityLogs: 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정하려면 "true"/"false"입니다.
- EnableMessagingLogs: "true"/"false"입니다. 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정합니다.
- EnableLiveTrace: 라이브 추적을 사용하면 Azure SignalR 서비스 내에서 무슨 일이 일어나고 있는지 알 수 있습니다. 실시간 추적을 제공하며, 사용자 고유의 Azure SignalR 기반 웹 애플리케이션을 개발하거나 일부 문제를 자체 해결할 때 유용합니다. 라이브 추적은 요금이 청구되는 아웃바운드 메시지로 계산됩니다. 허용되는 값: "true"/"false", 라이브 추적 기능을 사용하거나 사용하지 않도록 설정합니다.
'EnableConnectivityLogs'
'EnableLiveTrace'
'EnableMessagingLogs'
'ServiceMode'(필수)
속성 이 기능과 관련된 선택적 속성입니다. SignalRFeatureProperties
기능 플래그의 값입니다. 허용되는 값은 Azure SignalR Service 문서 /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 목록입니다.

업데이트 작업의 매개 변수에 포함되지 않은 FeatureFlag는 수정되지 않습니다.
또한 응답에는 명시적으로 설정된 featureFlags만 포함됩니다.
featureFlag가 명시적으로 설정되지 않은 경우 전역적으로 기본값이 사용됩니다.
그러나 기본값이 "false"를 의미하지는 않습니다. 다양한 FeatureFlag의 측면에서 다릅니다.
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 업스트림에 대한 관리 ID 설정입니다. 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 Service 배포 이 템플릿은 템플릿을 사용하여 Azure SignalR Service를 만듭니다.

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'로 설정합니다. ThrottleByUserIdRule형식에 대해 'ThrottleByUserIdRule'로 설정합니다. 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule'(필수)

ClientTrafficControlRule

이름 묘사
TrafficThrottleByJwtCustomClaimRule형식에 대해 'TrafficThrottleByJwtCustomClaimRule'로 설정합니다. TrafficThrottleByJwtSignatureRule형식에 대해 'TrafficThrottleByJwtSignatureRule'로 설정합니다. TrafficThrottleByUserIdRule형식에 대해 'TrafficThrottleByUserIdRule'로 설정합니다. 'TrafficThrottleByJwtCustomClaimRule'
'TrafficThrottleByJwtSignatureRule'
'TrafficThrottleByUserIdRule'(필수)

IPRule

이름 묘사
행동 Azure 네트워킹 ACL 작업. '허용'
'거부'
IP 또는 CIDR 또는 ServiceTag 문자열

LiveTraceCategory

이름 묘사
사용 라이브 추적 범주를 사용할지 여부를 나타냅니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열
이름 라이브 추적 범주의 이름을 가져오거나 설정합니다.
사용 가능한 값: ConnectivityLogs, MessagingLogs.
대/소문자를 구분하지 않습니다.
문자열

LiveTraceConfiguration

이름 묘사
카테고리 범주 구성 목록을 가져오거나 설정합니다. LiveTraceCategory[]
사용 라이브 추적을 사용하도록 설정할지 여부를 나타냅니다.
true로 설정되면 라이브 추적 클라이언트가 서비스에 연결할 수 있습니다.
그렇지 않으면 라이브 추적 클라이언트가 서비스에 연결할 수 없으므로 "범주"에서 구성한 내용에 관계없이 로그를 받을 수 없습니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열

ManagedIdentity

이름 묘사
id 형식을 나타냅니다. systemAssigned, userAssigned, None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 사용자 할당 ID 가져오기 또는 설정 managedIdentityUserAssignedIdentities

ManagedIdentitySettings

이름 묘사
자원 대상 리소스의 앱 ID URI를 나타내는 리소스입니다.
또한 발급된 토큰의 aud(대상 그룹) 클레임에도 표시됩니다.
문자열

ManagedIdentityUserAssignedIdentities

이름 묘사

Microsoft.SignalRService/signalR

이름 묘사
apiVersion api 버전 '2024-10-01-preview'
신원 클래스는 요청 및 응답에 사용되는 관리 ID를 나타냅니다. 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

이름 묘사
용량 선택적 정수입니다. 리소스의 단위 수입니다.
Free_F1/Standard_S1/Premium_P1 경우 1, 기본적으로 Premium_P2 경우 100입니다.

있는 경우 다음 값이 허용됩니다.
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의 선택적 계층입니다. '표준' 또는 '무료'.

더 이상 사용되지 않는 Basic 대신 Standard 사용합니다.
'기본'
'무료'
'프리미엄'
'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 서비스의 백 엔드 서버에 대한 플래그입니다. 허용되는 값: "기본값": 고유한 백 엔드 서버가 있습니다. "서버리스": 애플리케이션에 백 엔드 서버가 없습니다. "클래식": 이전 버전과의 호환성을 위한 것입니다. 기본 모드와 서버리스 모드를 모두 지원하지만 권장되지는 않습니다. "PredefinedOnly": 나중에 사용할 수 있습니다.
- EnableConnectivityLogs: 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정하려면 "true"/"false"입니다.
- EnableMessagingLogs: "true"/"false"입니다. 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정합니다.
- EnableLiveTrace: 라이브 추적을 사용하면 Azure SignalR 서비스 내에서 무슨 일이 일어나고 있는지 알 수 있습니다. 실시간 추적을 제공하며, 사용자 고유의 Azure SignalR 기반 웹 애플리케이션을 개발하거나 일부 문제를 자체 해결할 때 유용합니다. 라이브 추적은 요금이 청구되는 아웃바운드 메시지로 계산됩니다. 허용되는 값: "true"/"false", 라이브 추적 기능을 사용하거나 사용하지 않도록 설정합니다.
'EnableConnectivityLogs'
'EnableLiveTrace'
'EnableMessagingLogs'
'ServiceMode'(필수)
속성 이 기능과 관련된 선택적 속성입니다. SignalRFeatureProperties
기능 플래그의 값입니다. 허용되는 값은 Azure SignalR Service 문서 /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 목록입니다.

업데이트 작업의 매개 변수에 포함되지 않은 FeatureFlag는 수정되지 않습니다.
또한 응답에는 명시적으로 설정된 featureFlags만 포함됩니다.
featureFlag가 명시적으로 설정되지 않은 경우 전역적으로 기본값이 사용됩니다.
그러나 기본값이 "false"를 의미하지는 않습니다. 다양한 FeatureFlag의 측면에서 다릅니다.
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 업스트림에 대한 관리 ID 설정입니다. 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 Service 배포

Azure 배포
이 템플릿은 템플릿을 사용하여 Azure SignalR Service를 만듭니다.

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'로 설정합니다. ThrottleByUserIdRule형식에 대해 'ThrottleByUserIdRule'로 설정합니다. 'ThrottleByJwtCustomClaimRule'
'ThrottleByJwtSignatureRule'
'ThrottleByUserIdRule'(필수)

ClientTrafficControlRule

이름 묘사
TrafficThrottleByJwtCustomClaimRule형식에 대해 'TrafficThrottleByJwtCustomClaimRule'로 설정합니다. TrafficThrottleByJwtSignatureRule형식에 대해 'TrafficThrottleByJwtSignatureRule'로 설정합니다. TrafficThrottleByUserIdRule형식에 대해 'TrafficThrottleByUserIdRule'로 설정합니다. 'TrafficThrottleByJwtCustomClaimRule'
'TrafficThrottleByJwtSignatureRule'
'TrafficThrottleByUserIdRule'(필수)

IPRule

이름 묘사
행동 Azure 네트워킹 ACL 작업. '허용'
'거부'
IP 또는 CIDR 또는 ServiceTag 문자열

LiveTraceCategory

이름 묘사
사용 라이브 추적 범주를 사용할지 여부를 나타냅니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열
이름 라이브 추적 범주의 이름을 가져오거나 설정합니다.
사용 가능한 값: ConnectivityLogs, MessagingLogs.
대/소문자를 구분하지 않습니다.
문자열

LiveTraceConfiguration

이름 묘사
카테고리 범주 구성 목록을 가져오거나 설정합니다. LiveTraceCategory[]
사용 라이브 추적을 사용하도록 설정할지 여부를 나타냅니다.
true로 설정되면 라이브 추적 클라이언트가 서비스에 연결할 수 있습니다.
그렇지 않으면 라이브 추적 클라이언트가 서비스에 연결할 수 없으므로 "범주"에서 구성한 내용에 관계없이 로그를 받을 수 없습니다.
사용 가능한 값: true, false.
대/소문자를 구분하지 않습니다.
문자열

ManagedIdentity

이름 묘사
id 형식을 나타냅니다. systemAssigned, userAssigned, None 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 사용자 할당 ID 가져오기 또는 설정 managedIdentityUserAssignedIdentities

ManagedIdentitySettings

이름 묘사
자원 대상 리소스의 앱 ID URI를 나타내는 리소스입니다.
또한 발급된 토큰의 aud(대상 그룹) 클레임에도 표시됩니다.
문자열

ManagedIdentityUserAssignedIdentities

이름 묘사

Microsoft.SignalRService/signalR

이름 묘사
신원 클래스는 요청 및 응답에 사용되는 관리 ID를 나타냅니다. 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

이름 묘사
용량 선택적 정수입니다. 리소스의 단위 수입니다.
Free_F1/Standard_S1/Premium_P1 경우 1, 기본적으로 Premium_P2 경우 100입니다.

있는 경우 다음 값이 허용됩니다.
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의 선택적 계층입니다. '표준' 또는 '무료'.

더 이상 사용되지 않는 Basic 대신 Standard 사용합니다.
'기본'
'무료'
'프리미엄'
'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 서비스의 백 엔드 서버에 대한 플래그입니다. 허용되는 값: "기본값": 고유한 백 엔드 서버가 있습니다. "서버리스": 애플리케이션에 백 엔드 서버가 없습니다. "클래식": 이전 버전과의 호환성을 위한 것입니다. 기본 모드와 서버리스 모드를 모두 지원하지만 권장되지는 않습니다. "PredefinedOnly": 나중에 사용할 수 있습니다.
- EnableConnectivityLogs: 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정하려면 "true"/"false"입니다.
- EnableMessagingLogs: "true"/"false"입니다. 연결 로그 범주를 각각 사용하거나 사용하지 않도록 설정합니다.
- EnableLiveTrace: 라이브 추적을 사용하면 Azure SignalR 서비스 내에서 무슨 일이 일어나고 있는지 알 수 있습니다. 실시간 추적을 제공하며, 사용자 고유의 Azure SignalR 기반 웹 애플리케이션을 개발하거나 일부 문제를 자체 해결할 때 유용합니다. 라이브 추적은 요금이 청구되는 아웃바운드 메시지로 계산됩니다. 허용되는 값: "true"/"false", 라이브 추적 기능을 사용하거나 사용하지 않도록 설정합니다.
'EnableConnectivityLogs'
'EnableLiveTrace'
'EnableMessagingLogs'
'ServiceMode'(필수)
속성 이 기능과 관련된 선택적 속성입니다. SignalRFeatureProperties
기능 플래그의 값입니다. 허용되는 값은 Azure SignalR Service 문서 /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 목록입니다.

업데이트 작업의 매개 변수에 포함되지 않은 FeatureFlag는 수정되지 않습니다.
또한 응답에는 명시적으로 설정된 featureFlags만 포함됩니다.
featureFlag가 명시적으로 설정되지 않은 경우 전역적으로 기본값이 사용됩니다.
그러나 기본값이 "false"를 의미하지는 않습니다. 다양한 FeatureFlag의 측면에서 다릅니다.
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 업스트림에 대한 관리 ID 설정입니다. 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

이름 묘사