다음을 통해 공유


Microsoft.Devices IotHubs

Bicep 리소스 정의

IotHubs 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.Devices/IotHubs 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.

resource symbolicname 'Microsoft.Devices/IotHubs@2023-06-30' = {
  etag: 'string'
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    allowedFqdnList: [
      'string'
    ]
    authorizationPolicies: [
      {
        keyName: 'string'
        primaryKey: 'string'
        rights: 'string'
        secondaryKey: 'string'
      }
    ]
    cloudToDevice: {
      defaultTtlAsIso8601: 'string'
      feedback: {
        lockDurationAsIso8601: 'string'
        maxDeliveryCount: int
        ttlAsIso8601: 'string'
      }
      maxDeliveryCount: int
    }
    comments: 'string'
    disableDeviceSAS: bool
    disableLocalAuth: bool
    disableModuleSAS: bool
    enableDataResidency: bool
    enableFileUploadNotifications: bool
    eventHubEndpoints: {
      {customized property}: {
        partitionCount: int
        retentionTimeInDays: int
      }
    }
    features: 'string'
    ipFilterRules: [
      {
        action: 'string'
        filterName: 'string'
        ipMask: 'string'
      }
    ]
    messagingEndpoints: {
      {customized property}: {
        lockDurationAsIso8601: 'string'
        maxDeliveryCount: int
        ttlAsIso8601: 'string'
      }
    }
    minTlsVersion: 'string'
    networkRuleSets: {
      applyToBuiltInEventHubEndpoint: bool
      defaultAction: 'string'
      ipRules: [
        {
          action: 'string'
          filterName: 'string'
          ipMask: 'string'
        }
      ]
    }
    privateEndpointConnections: [
      {
        properties: {
          privateEndpoint: {}
          privateLinkServiceConnectionState: {
            actionsRequired: 'string'
            description: 'string'
            status: 'string'
          }
        }
      }
    ]
    publicNetworkAccess: 'string'
    restrictOutboundNetworkAccess: bool
    routing: {
      endpoints: {
        cosmosDBSqlContainers: [
          {
            authenticationType: 'string'
            containerName: 'string'
            databaseName: 'string'
            endpointUri: 'string'
            identity: {
              userAssignedIdentity: 'string'
            }
            name: 'string'
            partitionKeyName: 'string'
            partitionKeyTemplate: 'string'
            primaryKey: 'string'
            resourceGroup: 'string'
            secondaryKey: 'string'
            subscriptionId: 'string'
          }
        ]
        eventHubs: [
          {
            authenticationType: 'string'
            connectionString: 'string'
            endpointUri: 'string'
            entityPath: 'string'
            id: 'string'
            identity: {
              userAssignedIdentity: 'string'
            }
            name: 'string'
            resourceGroup: 'string'
            subscriptionId: 'string'
          }
        ]
        serviceBusQueues: [
          {
            authenticationType: 'string'
            connectionString: 'string'
            endpointUri: 'string'
            entityPath: 'string'
            id: 'string'
            identity: {
              userAssignedIdentity: 'string'
            }
            name: 'string'
            resourceGroup: 'string'
            subscriptionId: 'string'
          }
        ]
        serviceBusTopics: [
          {
            authenticationType: 'string'
            connectionString: 'string'
            endpointUri: 'string'
            entityPath: 'string'
            id: 'string'
            identity: {
              userAssignedIdentity: 'string'
            }
            name: 'string'
            resourceGroup: 'string'
            subscriptionId: 'string'
          }
        ]
        storageContainers: [
          {
            authenticationType: 'string'
            batchFrequencyInSeconds: int
            connectionString: 'string'
            containerName: 'string'
            encoding: 'string'
            endpointUri: 'string'
            fileNameFormat: 'string'
            id: 'string'
            identity: {
              userAssignedIdentity: 'string'
            }
            maxChunkSizeInBytes: int
            name: 'string'
            resourceGroup: 'string'
            subscriptionId: 'string'
          }
        ]
      }
      enrichments: [
        {
          endpointNames: [
            'string'
          ]
          key: 'string'
          value: 'string'
        }
      ]
      fallbackRoute: {
        condition: 'string'
        endpointNames: [
          'string'
        ]
        isEnabled: bool
        name: 'string'
        source: 'string'
      }
      routes: [
        {
          condition: 'string'
          endpointNames: [
            'string'
          ]
          isEnabled: bool
          name: 'string'
          source: 'string'
        }
      ]
    }
    storageEndpoints: {
      {customized property}: {
        authenticationType: 'string'
        connectionString: 'string'
        containerName: 'string'
        identity: {
          userAssignedIdentity: 'string'
        }
        sasTtlAsIso8601: 'string'
      }
    }
  }
  sku: {
    capacity: int
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

속성 값

ArmIdentity

이름 묘사
리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities <ArmUserIdentity> 사전 ArmIdentityUserAssignedIdentities

ArmIdentityUserAssignedIdentities

이름 묘사

ArmUserIdentity

이름 묘사

CloudToDeviceProperties

이름 묘사
defaultTtlAsIso8601 디바이스 큐의 클라우드-디바이스 메시지에 대한 기본 라이브 시간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
피드백 클라우드-디바이스 메시지에 대한 피드백 큐의 속성입니다. FeedbackProperties
maxDeliveryCount 디바이스 큐의 클라우드-디바이스 메시지에 대한 최대 배달 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100

EnrichmentProperties

이름 묘사
endpointNames 보강이 메시지에 적용되는 엔드포인트 목록입니다. string[] (필수)
열쇠 보강 속성의 키 또는 이름입니다. string(필수)
보강 속성의 값입니다. string(필수)

EventHubProperties

이름 묘사
partitionCount Event Hub 호환 엔드포인트에서 디바이스-클라우드 메시지를 수신하기 위한 파티션 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. int
retentionTimeInDays 디바이스-클라우드 메시지의 보존 시간(일)입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages int

FallbackRouteProperties

이름 묘사
조건 대체 경로를 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재 1개 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 대체 경로가 사용되는지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열
근원 라우팅 규칙을 적용할 원본입니다. 예를 들어 DeviceMessages 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

FeedbackProperties

이름 묘사
lockDurationAsIso8601 피드백 큐의 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
maxDeliveryCount IoT Hub가 피드백 큐에 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열

IotHubProperties

이름 묘사
allowedFqdnList Iot Hub에서 송신할 수 있는 FQDN(정규화된 도메인 이름) 목록입니다. string[]
authorizationPolicies IoT Hub에 대한 연결을 보호하는 데 사용할 수 있는 공유 액세스 정책입니다. SharedAccessSignatureAuthorizationRule[]
cloudToDevice IoT Hub 클라우드-디바이스 메시징 속성입니다. cloudToDeviceProperties
코멘트 IoT Hub 주석 문자열
disableDeviceSAS true이면 모든 디바이스(Edge 디바이스를 포함하지만 모듈 제외) 범위 SAS 키를 인증에 사용할 수 없습니다. bool
disableLocalAuth true이면 IoT 허브 범위 SAS 키를 사용하는 SAS 토큰을 인증에 사용할 수 없습니다. bool
disableModuleSAS true이면 모든 모듈 범위 SAS 키를 인증에 사용할 수 없습니다. bool
enableDataResidency true로 설정하면 이 속성이 데이터 보존을 사용하도록 설정되므로 재해 복구를 사용하지 않도록 설정합니다. bool
enableFileUploadNotifications True이면 파일 업로드 알림이 활성화됩니다. bool
eventHubEndpoints Event Hub 호환 엔드포인트 속성입니다. 이 사전의 유일한 키는 이벤트입니다. 이 키는 IoT Hub에 대한 호출을 만들거나 업데이트하는 동안 사전에 있어야 합니다. IotHubPropertiesEventHubEndpoints
기능 IoT Hub에 사용할 수 있는 기능 및 기능입니다. 'DeviceManagement'
'None'
ipFilterRules IP 필터 규칙입니다. ipFilterRule[]
messagingEndpoints 파일 업로드 알림 큐에 대한 메시징 엔드포인트 속성입니다. IotHubPropertiesMessagingEndpoints
minTlsVersion 이 허브에 대해 지원할 최소 TLS 버전을 지정합니다. 1.2 미만의 TLS 버전을 사용하는 클라이언트가 거부되도록 "1.2"로 설정할 수 있습니다. 문자열
networkRuleSets IotHub의 네트워크 규칙 집합 속성 networkRuleSetProperties
privateEndpointConnections 이 IotHub에서 만든 프라이빗 엔드포인트 연결 PrivateEndpointConnection[]
publicNetworkAccess 공용 네트워크의 요청 허용 여부 '사용 안 함'
'Enabled'
restrictOutboundNetworkAccess true이면 IotHub에서 송신은 allowedFqdnList를 통해 구성된 허용된 FQDN으로만 제한됩니다. bool
라우팅 IoT Hub의 라우팅 관련 속성입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging RoutingProperties
storageEndpoints 파일을 업로드할 수 있는 Azure Storage 엔드포인트 목록입니다. 현재 Azure Storage 계정은 하나만 구성할 수 있으며 해당 키는 $default. 둘 이상의 스토리지 계정을 지정하면 오류가 발생합니다. enableFileUploadNotifications 속성이 True로 설정된 경우 이 속성의 값을 지정하지 않으면 오류가 발생합니다. IotHubPropertiesStorageEndpoints

IotHubPropertiesEventHubEndpoints

이름 묘사

IotHubPropertiesMessagingEndpoints

이름 묘사

IotHubPropertiesStorageEndpoints

이름 묘사

IotHubSkuInfo

이름 묘사
용량 프로비전된 IoT Hub 단위의 수입니다. 참조: /azure/azure-subscription-service-limits#iot-hub-limits. int
이름 SKU의 이름입니다. 'B1'
'B2'
'B3'
'F1'
'S1'
'S2'
'S3'(필수)

IpFilterRule

이름 묘사
행동 이 규칙에서 캡처한 요청에 대해 원하는 작업입니다. '수락'
'Reject'(필수)
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

ManagedIdentity

이름 묘사
userAssignedIdentity 사용자 할당 ID입니다. 문자열

MessagingEndpointProperties

이름 묘사
lockDurationAsIso8601 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열
maxDeliveryCount IoT Hub가 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열

Microsoft.Devices/IotHubs

이름 묘사
etag Etag 필드가 필요하지 . 응답 본문에 제공된 경우 일반 ETag 규칙에 따라 헤더로도 제공해야 합니다. 문자열
신원 IotHub의 관리 ID입니다. ArmIdentity
위치 리소스 위치입니다. string(필수)
이름 리소스 이름 string(필수)
속성 IotHub 속성 IotHubProperties
sku IotHub SKU 정보 IotHubSkuInfo (필수)
태그 리소스 태그 태그 이름 및 값의 사전입니다. 템플릿 태그를 참조하세요.

NetworkRuleSetIpRule

이름 묘사
행동 IP 필터 작업 '허용'
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

NetworkRuleSetProperties

이름 묘사
applyToBuiltInEventHubEndpoint True이면 네트워크 규칙 집합이 IotHub의 BuiltIn EventHub 엔드포인트에도 적용됩니다. bool(필수)
defaultAction 네트워크 규칙 집합에 대한 기본 작업 '허용'
'거부'
ipRules IP 규칙 목록 NetworkRuleSetIpRule[] (필수)

PrivateEndpoint

이름 묘사

PrivateEndpointConnection

이름 묘사
속성 프라이빗 엔드포인트 연결의 속성 PrivateEndpointConnectionProperties(필수)

PrivateEndpointConnectionProperties

이름 묘사
privateEndpoint 프라이빗 엔드포인트 연결의 프라이빗 엔드포인트 속성 PrivateEndpoint
privateLinkServiceConnectionState 프라이빗 엔드포인트 연결의 현재 상태 PrivateLinkServiceConnectionState(필수)

PrivateLinkServiceConnectionState

이름 묘사
actionsRequired 프라이빗 엔드포인트 연결에 필요한 작업 문자열
묘사 프라이빗 엔드포인트 연결의 현재 상태에 대한 설명입니다. string(필수)
상태 프라이빗 엔드포인트 연결의 상태입니다. '승인됨'
'연결 끊김'
'보류 중'
'Rejected'(필수)

ResourceTags

이름 묘사

RouteProperties

이름 묘사
조건 라우팅 규칙을 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재는 하나의 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 경로를 사용할지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
근원 DeviceMessages와 같이 라우팅 규칙을 적용할 원본입니다. 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

RoutingCosmosDBSqlApiProperties

이름 묘사
authenticationType cosmos DB sql 컨테이너 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
containerName cosmos DB 데이터베이스에 있는 cosmos DB sql 컨테이너의 이름입니다. string(필수)
databaseName cosmos DB 계정에 있는 cosmos DB 데이터베이스의 이름입니다. string(필수)
endpointUri cosmos DB 계정의 URL입니다. 프로토콜 https:// 포함해야 합니다. string(필수)
신원 cosmos DB 컨테이너 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
partitionKeyName 이 cosmos DB sql 컨테이너(있는 경우)와 연결된 파티션 키의 이름입니다. 선택적 매개 변수입니다. 문자열
partitionKeyTemplate 이 cosmos DB sql 컨테이너에 사용할 가상 파티션 키 값을 생성하기 위한 템플릿입니다. 템플릿에는 {iothub}, {deviceid}, {DD}, {MM}, {YYYY} 자리 표시자 중 하나 이상이 포함되어야 합니다. 한 자리 표시자를 한 번만 지정할 수 있지만 순서 및 자리 표시자가 아닌 구성 요소는 임의로 지정됩니다. 이 매개 변수는 PartitionKeyName이 지정된 경우에만 필요합니다. 문자열
primaryKey cosmos DB 계정의 기본 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
resourceGroup cosmos DB 계정의 리소스 그룹 이름입니다. 문자열
secondaryKey cosmos DB 계정의 보조 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
subscriptionId cosmos DB 계정의 구독 식별자입니다. 문자열

RoutingEndpoints

이름 묘사
cosmosDBSqlContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Cosmos DB 컨테이너 엔드포인트 목록입니다. RoutingCosmosDBSqlApiProperties[]
eventHubs 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Event Hubs 엔드포인트 목록입니다. 이 목록에는 기본 제공 Event Hubs 엔드포인트가 포함되지 않습니다. RoutingEventHubProperties[]
serviceBusQueues IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 큐 엔드포인트 목록입니다. RoutingServiceBusQueueEndpointProperties[]
serviceBusTopics IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 토픽 엔드포인트 목록입니다. RoutingServiceBusTopicEndpointProperties[]
storageContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 스토리지 컨테이너 엔드포인트 목록입니다. RoutingStorageContainerProperties[]

RoutingEventHubProperties

이름 묘사
authenticationType 이벤트 허브 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString 이벤트 허브 엔드포인트의 연결 문자열입니다. 문자열
endpointUri 이벤트 허브 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath 이벤트 허브 네임스페이스의 이벤트 허브 이름 문자열
아이디 이벤트 허브 엔드포인트의 ID 문자열
신원 라우팅 이벤트 허브 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 이벤트 허브 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId 이벤트 허브 엔드포인트의 구독 식별자입니다. 문자열

RoutingProperties

이름 묘사
끝점 IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 사용자 지정 엔드포인트와 관련된 속성입니다. 유료 허브의 모든 엔드포인트 유형에서 최대 10개의 사용자 지정 엔드포인트가 허용되며, 무료 허브의 모든 엔드포인트 유형에서 1개의 사용자 지정 엔드포인트만 허용됩니다. RoutingEndpoints
보강 IoT Hub가 기본 제공 및 사용자 지정 엔드포인트에 배달할 메시지에 적용되는 사용자 제공 보강 목록입니다. 참조: https://aka.ms/telemetryoneventgrid EnrichmentProperties[]
fallbackRoute '경로' 섹션에 지정된 조건이 충족되지 않을 때 대체 경로로 사용되는 경로의 속성입니다. 선택적 매개 변수입니다. 이 속성이 템플릿에 없으면 대체 경로는 기본적으로 사용하지 않도록 설정됩니다. FallbackRouteProperties
경로 IoT Hub가 메시지를 기본 제공 및 사용자 지정 엔드포인트로 라우팅하는 데 사용하는 사용자 제공 라우팅 규칙 목록입니다. 유료 허브에는 최대 100개의 라우팅 규칙이 허용되며 무료 허브에는 최대 5개의 라우팅 규칙이 허용됩니다. RouteProperties[]

RoutingServiceBusQueueEndpointProperties

이름 묘사
authenticationType Service Bus 큐 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 큐 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 큐 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 네임스페이스의 큐 이름 문자열
아이디 Service Bus 큐 엔드포인트의 ID 문자열
신원 Service Bus 큐 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 큐 이름과 동일할 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 큐 엔드포인트의 리소스 그룹의 이름입니다. 문자열
subscriptionId Service Bus 큐 엔드포인트의 구독 식별자입니다. 문자열

RoutingServiceBusTopicEndpointProperties

이름 묘사
authenticationType Service Bus 토픽 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 토픽 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 토픽 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 토픽의 큐 이름 문자열
아이디 Service Bus 토픽 엔드포인트의 ID 문자열
신원 라우팅 Service Bus 토픽 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 토픽 이름과 같을 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 토픽 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId Service Bus 토픽 엔드포인트의 구독 식별자입니다. 문자열

RoutingStorageContainerProperties

이름 묘사
authenticationType 스토리지 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
batchFrequencyInSeconds Blob이 스토리지에 기록되는 시간 간격입니다. 값은 60초에서 720초 사이여야 합니다. 기본값은 300초입니다. int

제약 조건:
최소값 = 60
최대값 = 720
connectionString 스토리지 계정의 연결 문자열입니다. 문자열
containerName 스토리지 계정의 스토리지 컨테이너 이름입니다. string(필수)
인코딩 메시지를 Blob으로 직렬화하는 데 사용되는 인코딩입니다. 지원되는 값은 'avro', 'avrodeflate' 및 'JSON'입니다. 기본값은 'avro'입니다. 'Avro'
'AvroDeflate'
'JSON'
endpointUri 스토리지 엔드포인트의 URL입니다. 프로토콜 https:// 포함해야 합니다. 문자열
fileNameFormat Blob의 파일 이름 형식입니다. 기본 형식은 {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}입니다. 모든 매개 변수는 필수이지만 순서를 변경할 수 있습니다. 문자열
아이디 스토리지 컨테이너 엔드포인트의 ID 문자열
신원 라우팅 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
maxChunkSizeInBytes 스토리지에 기록된 각 Blob의 최대 바이트 수입니다. 값은 10485760(10MB)에서 524288000(500MB) 사이여야 합니다. 기본값은 314572800(300MB)입니다. int

제약 조건:
최소값 = 10485760
최대값 = 524288000
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 스토리지 계정의 리소스 그룹 이름입니다. 문자열
subscriptionId 스토리지 계정의 구독 식별자입니다. 문자열

SharedAccessSignatureAuthorizationRule

이름 묘사
keyName 공유 액세스 정책의 이름입니다. string(필수)
primaryKey 기본 키입니다. 문자열
권한 공유 액세스 정책에 할당된 권한입니다. 'DeviceConnect'
'RegistryRead'
'RegistryRead, DeviceConnect'
'RegistryRead, RegistryWrite'
'RegistryRead, RegistryWrite, DeviceConnect'
'RegistryRead, RegistryWrite, ServiceConnect'
'RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect'
'RegistryRead, ServiceConnect'
'RegistryRead, ServiceConnect, DeviceConnect'
'RegistryWrite'
'RegistryWrite, DeviceConnect'
'RegistryWrite, ServiceConnect'
'RegistryWrite, ServiceConnect, DeviceConnect'
'ServiceConnect'
'ServiceConnect, DeviceConnect'(필수)
secondaryKey 보조 키입니다. 문자열

StorageEndpointProperties

이름 묘사
authenticationType 스토리지 계정에 연결하는 데 사용되는 인증 유형을 지정합니다. 'identityBased'
'keyBased'
connectionString 파일이 업로드되는 Azure Storage 계정에 대한 연결 문자열입니다. string(필수)
containerName 파일을 업로드하는 루트 컨테이너의 이름입니다. 컨테이너는 존재하지 않아도 되지만 지정된 connectionString을 사용하여 만들 수 있어야 합니다. string(필수)
신원 파일 업로드를 위한 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
sasTtlAsIso8601 파일 업로드를 위해 IoT Hub에서 생성한 SAS URI가 유효한 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. 문자열

빠른 시작 샘플

다음 빠른 시작 샘플은 이 리소스 유형을 배포합니다.

Bicep 파일 묘사
IoT Hub 및 디바이스-클라우드 소비자 그룹 만들기 이 템플릿을 사용하면 디바이스가 있는 IoT Hub 인스턴스를 클라우드 및 클라우드에 디바이스 메시징 구성에 배포하고 디바이스를 클라우드 소비자 그룹에 배포할 수 있습니다.
IoT Hub Device Provisioning Service 만들기 이 템플릿을 사용하면 IoT Hub 및 IoT Hub Device Provisioning Service를 만들고 두 서비스를 함께 연결할 수 있습니다.
IoT Hub 계정, 인스턴스, IoT Hub 대한 디바이스 업데이트 만들기 이 템플릿은 인스턴스를 연결할 계정과 인스턴스 및 허브를 만듭니다. 필요한 액세스 정책, 경로 및 소비자 그룹을 사용하여 허브를 구성합니다.
Azure IoT Hub 포함한 MedTech 서비스 배포 MedTech 서비스는 여러 디바이스에서 디바이스 데이터를 수집하여 디바이스 데이터를 FHIR 관찰로 변환한 다음 Azure Health Data Services FHIR 서비스에 유지되도록 설계된 Azure Health Data Services 중 하나입니다.
ARM 템플릿을 사용하여 IoT Hub 만들기, 메시지 라우팅 및 보기 이 템플릿을 사용하여 IoT Hub 및 스토리지 계정을 배포합니다. 앱을 실행하여 스토리지로 라우팅되는 허브로 메시지를 보낸 다음 결과를 봅니다.

ARM 템플릿 리소스 정의

IotHubs 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.Devices/IotHubs 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.

{
  "type": "Microsoft.Devices/IotHubs",
  "apiVersion": "2023-06-30",
  "name": "string",
  "etag": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "allowedFqdnList": [ "string" ],
    "authorizationPolicies": [
      {
        "keyName": "string",
        "primaryKey": "string",
        "rights": "string",
        "secondaryKey": "string"
      }
    ],
    "cloudToDevice": {
      "defaultTtlAsIso8601": "string",
      "feedback": {
        "lockDurationAsIso8601": "string",
        "maxDeliveryCount": "int",
        "ttlAsIso8601": "string"
      },
      "maxDeliveryCount": "int"
    },
    "comments": "string",
    "disableDeviceSAS": "bool",
    "disableLocalAuth": "bool",
    "disableModuleSAS": "bool",
    "enableDataResidency": "bool",
    "enableFileUploadNotifications": "bool",
    "eventHubEndpoints": {
      "{customized property}": {
        "partitionCount": "int",
        "retentionTimeInDays": "int"
      }
    },
    "features": "string",
    "ipFilterRules": [
      {
        "action": "string",
        "filterName": "string",
        "ipMask": "string"
      }
    ],
    "messagingEndpoints": {
      "{customized property}": {
        "lockDurationAsIso8601": "string",
        "maxDeliveryCount": "int",
        "ttlAsIso8601": "string"
      }
    },
    "minTlsVersion": "string",
    "networkRuleSets": {
      "applyToBuiltInEventHubEndpoint": "bool",
      "defaultAction": "string",
      "ipRules": [
        {
          "action": "string",
          "filterName": "string",
          "ipMask": "string"
        }
      ]
    },
    "privateEndpointConnections": [
      {
        "properties": {
          "privateEndpoint": {
          },
          "privateLinkServiceConnectionState": {
            "actionsRequired": "string",
            "description": "string",
            "status": "string"
          }
        }
      }
    ],
    "publicNetworkAccess": "string",
    "restrictOutboundNetworkAccess": "bool",
    "routing": {
      "endpoints": {
        "cosmosDBSqlContainers": [
          {
            "authenticationType": "string",
            "containerName": "string",
            "databaseName": "string",
            "endpointUri": "string",
            "identity": {
              "userAssignedIdentity": "string"
            },
            "name": "string",
            "partitionKeyName": "string",
            "partitionKeyTemplate": "string",
            "primaryKey": "string",
            "resourceGroup": "string",
            "secondaryKey": "string",
            "subscriptionId": "string"
          }
        ],
        "eventHubs": [
          {
            "authenticationType": "string",
            "connectionString": "string",
            "endpointUri": "string",
            "entityPath": "string",
            "id": "string",
            "identity": {
              "userAssignedIdentity": "string"
            },
            "name": "string",
            "resourceGroup": "string",
            "subscriptionId": "string"
          }
        ],
        "serviceBusQueues": [
          {
            "authenticationType": "string",
            "connectionString": "string",
            "endpointUri": "string",
            "entityPath": "string",
            "id": "string",
            "identity": {
              "userAssignedIdentity": "string"
            },
            "name": "string",
            "resourceGroup": "string",
            "subscriptionId": "string"
          }
        ],
        "serviceBusTopics": [
          {
            "authenticationType": "string",
            "connectionString": "string",
            "endpointUri": "string",
            "entityPath": "string",
            "id": "string",
            "identity": {
              "userAssignedIdentity": "string"
            },
            "name": "string",
            "resourceGroup": "string",
            "subscriptionId": "string"
          }
        ],
        "storageContainers": [
          {
            "authenticationType": "string",
            "batchFrequencyInSeconds": "int",
            "connectionString": "string",
            "containerName": "string",
            "encoding": "string",
            "endpointUri": "string",
            "fileNameFormat": "string",
            "id": "string",
            "identity": {
              "userAssignedIdentity": "string"
            },
            "maxChunkSizeInBytes": "int",
            "name": "string",
            "resourceGroup": "string",
            "subscriptionId": "string"
          }
        ]
      },
      "enrichments": [
        {
          "endpointNames": [ "string" ],
          "key": "string",
          "value": "string"
        }
      ],
      "fallbackRoute": {
        "condition": "string",
        "endpointNames": [ "string" ],
        "isEnabled": "bool",
        "name": "string",
        "source": "string"
      },
      "routes": [
        {
          "condition": "string",
          "endpointNames": [ "string" ],
          "isEnabled": "bool",
          "name": "string",
          "source": "string"
        }
      ]
    },
    "storageEndpoints": {
      "{customized property}": {
        "authenticationType": "string",
        "connectionString": "string",
        "containerName": "string",
        "identity": {
          "userAssignedIdentity": "string"
        },
        "sasTtlAsIso8601": "string"
      }
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

속성 값

ArmIdentity

이름 묘사
리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities <ArmUserIdentity> 사전 ArmIdentityUserAssignedIdentities

ArmIdentityUserAssignedIdentities

이름 묘사

ArmUserIdentity

이름 묘사

CloudToDeviceProperties

이름 묘사
defaultTtlAsIso8601 디바이스 큐의 클라우드-디바이스 메시지에 대한 기본 라이브 시간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
피드백 클라우드-디바이스 메시지에 대한 피드백 큐의 속성입니다. FeedbackProperties
maxDeliveryCount 디바이스 큐의 클라우드-디바이스 메시지에 대한 최대 배달 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100

EnrichmentProperties

이름 묘사
endpointNames 보강이 메시지에 적용되는 엔드포인트 목록입니다. string[] (필수)
열쇠 보강 속성의 키 또는 이름입니다. string(필수)
보강 속성의 값입니다. string(필수)

EventHubProperties

이름 묘사
partitionCount Event Hub 호환 엔드포인트에서 디바이스-클라우드 메시지를 수신하기 위한 파티션 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. int
retentionTimeInDays 디바이스-클라우드 메시지의 보존 시간(일)입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages int

FallbackRouteProperties

이름 묘사
조건 대체 경로를 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재 1개 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 대체 경로가 사용되는지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열
근원 라우팅 규칙을 적용할 원본입니다. 예를 들어 DeviceMessages 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

FeedbackProperties

이름 묘사
lockDurationAsIso8601 피드백 큐의 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
maxDeliveryCount IoT Hub가 피드백 큐에 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열

IotHubProperties

이름 묘사
allowedFqdnList Iot Hub에서 송신할 수 있는 FQDN(정규화된 도메인 이름) 목록입니다. string[]
authorizationPolicies IoT Hub에 대한 연결을 보호하는 데 사용할 수 있는 공유 액세스 정책입니다. SharedAccessSignatureAuthorizationRule[]
cloudToDevice IoT Hub 클라우드-디바이스 메시징 속성입니다. cloudToDeviceProperties
코멘트 IoT Hub 주석 문자열
disableDeviceSAS true이면 모든 디바이스(Edge 디바이스를 포함하지만 모듈 제외) 범위 SAS 키를 인증에 사용할 수 없습니다. bool
disableLocalAuth true이면 IoT 허브 범위 SAS 키를 사용하는 SAS 토큰을 인증에 사용할 수 없습니다. bool
disableModuleSAS true이면 모든 모듈 범위 SAS 키를 인증에 사용할 수 없습니다. bool
enableDataResidency true로 설정하면 이 속성이 데이터 보존을 사용하도록 설정되므로 재해 복구를 사용하지 않도록 설정합니다. bool
enableFileUploadNotifications True이면 파일 업로드 알림이 활성화됩니다. bool
eventHubEndpoints Event Hub 호환 엔드포인트 속성입니다. 이 사전의 유일한 키는 이벤트입니다. 이 키는 IoT Hub에 대한 호출을 만들거나 업데이트하는 동안 사전에 있어야 합니다. IotHubPropertiesEventHubEndpoints
기능 IoT Hub에 사용할 수 있는 기능 및 기능입니다. 'DeviceManagement'
'None'
ipFilterRules IP 필터 규칙입니다. ipFilterRule[]
messagingEndpoints 파일 업로드 알림 큐에 대한 메시징 엔드포인트 속성입니다. IotHubPropertiesMessagingEndpoints
minTlsVersion 이 허브에 대해 지원할 최소 TLS 버전을 지정합니다. 1.2 미만의 TLS 버전을 사용하는 클라이언트가 거부되도록 "1.2"로 설정할 수 있습니다. 문자열
networkRuleSets IotHub의 네트워크 규칙 집합 속성 networkRuleSetProperties
privateEndpointConnections 이 IotHub에서 만든 프라이빗 엔드포인트 연결 PrivateEndpointConnection[]
publicNetworkAccess 공용 네트워크의 요청 허용 여부 '사용 안 함'
'Enabled'
restrictOutboundNetworkAccess true이면 IotHub에서 송신은 allowedFqdnList를 통해 구성된 허용된 FQDN으로만 제한됩니다. bool
라우팅 IoT Hub의 라우팅 관련 속성입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging RoutingProperties
storageEndpoints 파일을 업로드할 수 있는 Azure Storage 엔드포인트 목록입니다. 현재 Azure Storage 계정은 하나만 구성할 수 있으며 해당 키는 $default. 둘 이상의 스토리지 계정을 지정하면 오류가 발생합니다. enableFileUploadNotifications 속성이 True로 설정된 경우 이 속성의 값을 지정하지 않으면 오류가 발생합니다. IotHubPropertiesStorageEndpoints

IotHubPropertiesEventHubEndpoints

이름 묘사

IotHubPropertiesMessagingEndpoints

이름 묘사

IotHubPropertiesStorageEndpoints

이름 묘사

IotHubSkuInfo

이름 묘사
용량 프로비전된 IoT Hub 단위의 수입니다. 참조: /azure/azure-subscription-service-limits#iot-hub-limits. int
이름 SKU의 이름입니다. 'B1'
'B2'
'B3'
'F1'
'S1'
'S2'
'S3'(필수)

IpFilterRule

이름 묘사
행동 이 규칙에서 캡처한 요청에 대해 원하는 작업입니다. '수락'
'Reject'(필수)
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

ManagedIdentity

이름 묘사
userAssignedIdentity 사용자 할당 ID입니다. 문자열

MessagingEndpointProperties

이름 묘사
lockDurationAsIso8601 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열
maxDeliveryCount IoT Hub가 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열

Microsoft.Devices/IotHubs

이름 묘사
apiVersion api 버전 '2023-06-30'
etag Etag 필드가 필요하지 . 응답 본문에 제공된 경우 일반 ETag 규칙에 따라 헤더로도 제공해야 합니다. 문자열
신원 IotHub의 관리 ID입니다. ArmIdentity
위치 리소스 위치입니다. string(필수)
이름 리소스 이름 string(필수)
속성 IotHub 속성 IotHubProperties
sku IotHub SKU 정보 IotHubSkuInfo (필수)
태그 리소스 태그 태그 이름 및 값의 사전입니다. 템플릿 태그를 참조하세요.
리소스 종류 'Microsoft.Devices/IotHubs'

NetworkRuleSetIpRule

이름 묘사
행동 IP 필터 작업 '허용'
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

NetworkRuleSetProperties

이름 묘사
applyToBuiltInEventHubEndpoint True이면 네트워크 규칙 집합이 IotHub의 BuiltIn EventHub 엔드포인트에도 적용됩니다. bool(필수)
defaultAction 네트워크 규칙 집합에 대한 기본 작업 '허용'
'거부'
ipRules IP 규칙 목록 NetworkRuleSetIpRule[] (필수)

PrivateEndpoint

이름 묘사

PrivateEndpointConnection

이름 묘사
속성 프라이빗 엔드포인트 연결의 속성 PrivateEndpointConnectionProperties(필수)

PrivateEndpointConnectionProperties

이름 묘사
privateEndpoint 프라이빗 엔드포인트 연결의 프라이빗 엔드포인트 속성 PrivateEndpoint
privateLinkServiceConnectionState 프라이빗 엔드포인트 연결의 현재 상태 PrivateLinkServiceConnectionState(필수)

PrivateLinkServiceConnectionState

이름 묘사
actionsRequired 프라이빗 엔드포인트 연결에 필요한 작업 문자열
묘사 프라이빗 엔드포인트 연결의 현재 상태에 대한 설명입니다. string(필수)
상태 프라이빗 엔드포인트 연결의 상태입니다. '승인됨'
'연결 끊김'
'보류 중'
'Rejected'(필수)

ResourceTags

이름 묘사

RouteProperties

이름 묘사
조건 라우팅 규칙을 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재는 하나의 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 경로를 사용할지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
근원 DeviceMessages와 같이 라우팅 규칙을 적용할 원본입니다. 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

RoutingCosmosDBSqlApiProperties

이름 묘사
authenticationType cosmos DB sql 컨테이너 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
containerName cosmos DB 데이터베이스에 있는 cosmos DB sql 컨테이너의 이름입니다. string(필수)
databaseName cosmos DB 계정에 있는 cosmos DB 데이터베이스의 이름입니다. string(필수)
endpointUri cosmos DB 계정의 URL입니다. 프로토콜 https:// 포함해야 합니다. string(필수)
신원 cosmos DB 컨테이너 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
partitionKeyName 이 cosmos DB sql 컨테이너(있는 경우)와 연결된 파티션 키의 이름입니다. 선택적 매개 변수입니다. 문자열
partitionKeyTemplate 이 cosmos DB sql 컨테이너에 사용할 가상 파티션 키 값을 생성하기 위한 템플릿입니다. 템플릿에는 {iothub}, {deviceid}, {DD}, {MM}, {YYYY} 자리 표시자 중 하나 이상이 포함되어야 합니다. 한 자리 표시자를 한 번만 지정할 수 있지만 순서 및 자리 표시자가 아닌 구성 요소는 임의로 지정됩니다. 이 매개 변수는 PartitionKeyName이 지정된 경우에만 필요합니다. 문자열
primaryKey cosmos DB 계정의 기본 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
resourceGroup cosmos DB 계정의 리소스 그룹 이름입니다. 문자열
secondaryKey cosmos DB 계정의 보조 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
subscriptionId cosmos DB 계정의 구독 식별자입니다. 문자열

RoutingEndpoints

이름 묘사
cosmosDBSqlContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Cosmos DB 컨테이너 엔드포인트 목록입니다. RoutingCosmosDBSqlApiProperties[]
eventHubs 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Event Hubs 엔드포인트 목록입니다. 이 목록에는 기본 제공 Event Hubs 엔드포인트가 포함되지 않습니다. RoutingEventHubProperties[]
serviceBusQueues IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 큐 엔드포인트 목록입니다. RoutingServiceBusQueueEndpointProperties[]
serviceBusTopics IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 토픽 엔드포인트 목록입니다. RoutingServiceBusTopicEndpointProperties[]
storageContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 스토리지 컨테이너 엔드포인트 목록입니다. RoutingStorageContainerProperties[]

RoutingEventHubProperties

이름 묘사
authenticationType 이벤트 허브 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString 이벤트 허브 엔드포인트의 연결 문자열입니다. 문자열
endpointUri 이벤트 허브 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath 이벤트 허브 네임스페이스의 이벤트 허브 이름 문자열
아이디 이벤트 허브 엔드포인트의 ID 문자열
신원 라우팅 이벤트 허브 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 이벤트 허브 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId 이벤트 허브 엔드포인트의 구독 식별자입니다. 문자열

RoutingProperties

이름 묘사
끝점 IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 사용자 지정 엔드포인트와 관련된 속성입니다. 유료 허브의 모든 엔드포인트 유형에서 최대 10개의 사용자 지정 엔드포인트가 허용되며, 무료 허브의 모든 엔드포인트 유형에서 1개의 사용자 지정 엔드포인트만 허용됩니다. RoutingEndpoints
보강 IoT Hub가 기본 제공 및 사용자 지정 엔드포인트에 배달할 메시지에 적용되는 사용자 제공 보강 목록입니다. 참조: https://aka.ms/telemetryoneventgrid EnrichmentProperties[]
fallbackRoute '경로' 섹션에 지정된 조건이 충족되지 않을 때 대체 경로로 사용되는 경로의 속성입니다. 선택적 매개 변수입니다. 이 속성이 템플릿에 없으면 대체 경로는 기본적으로 사용하지 않도록 설정됩니다. FallbackRouteProperties
경로 IoT Hub가 메시지를 기본 제공 및 사용자 지정 엔드포인트로 라우팅하는 데 사용하는 사용자 제공 라우팅 규칙 목록입니다. 유료 허브에는 최대 100개의 라우팅 규칙이 허용되며 무료 허브에는 최대 5개의 라우팅 규칙이 허용됩니다. RouteProperties[]

RoutingServiceBusQueueEndpointProperties

이름 묘사
authenticationType Service Bus 큐 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 큐 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 큐 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 네임스페이스의 큐 이름 문자열
아이디 Service Bus 큐 엔드포인트의 ID 문자열
신원 Service Bus 큐 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 큐 이름과 동일할 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 큐 엔드포인트의 리소스 그룹의 이름입니다. 문자열
subscriptionId Service Bus 큐 엔드포인트의 구독 식별자입니다. 문자열

RoutingServiceBusTopicEndpointProperties

이름 묘사
authenticationType Service Bus 토픽 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 토픽 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 토픽 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 토픽의 큐 이름 문자열
아이디 Service Bus 토픽 엔드포인트의 ID 문자열
신원 라우팅 Service Bus 토픽 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 토픽 이름과 같을 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 토픽 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId Service Bus 토픽 엔드포인트의 구독 식별자입니다. 문자열

RoutingStorageContainerProperties

이름 묘사
authenticationType 스토리지 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
batchFrequencyInSeconds Blob이 스토리지에 기록되는 시간 간격입니다. 값은 60초에서 720초 사이여야 합니다. 기본값은 300초입니다. int

제약 조건:
최소값 = 60
최대값 = 720
connectionString 스토리지 계정의 연결 문자열입니다. 문자열
containerName 스토리지 계정의 스토리지 컨테이너 이름입니다. string(필수)
인코딩 메시지를 Blob으로 직렬화하는 데 사용되는 인코딩입니다. 지원되는 값은 'avro', 'avrodeflate' 및 'JSON'입니다. 기본값은 'avro'입니다. 'Avro'
'AvroDeflate'
'JSON'
endpointUri 스토리지 엔드포인트의 URL입니다. 프로토콜 https:// 포함해야 합니다. 문자열
fileNameFormat Blob의 파일 이름 형식입니다. 기본 형식은 {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}입니다. 모든 매개 변수는 필수이지만 순서를 변경할 수 있습니다. 문자열
아이디 스토리지 컨테이너 엔드포인트의 ID 문자열
신원 라우팅 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
maxChunkSizeInBytes 스토리지에 기록된 각 Blob의 최대 바이트 수입니다. 값은 10485760(10MB)에서 524288000(500MB) 사이여야 합니다. 기본값은 314572800(300MB)입니다. int

제약 조건:
최소값 = 10485760
최대값 = 524288000
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 스토리지 계정의 리소스 그룹 이름입니다. 문자열
subscriptionId 스토리지 계정의 구독 식별자입니다. 문자열

SharedAccessSignatureAuthorizationRule

이름 묘사
keyName 공유 액세스 정책의 이름입니다. string(필수)
primaryKey 기본 키입니다. 문자열
권한 공유 액세스 정책에 할당된 권한입니다. 'DeviceConnect'
'RegistryRead'
'RegistryRead, DeviceConnect'
'RegistryRead, RegistryWrite'
'RegistryRead, RegistryWrite, DeviceConnect'
'RegistryRead, RegistryWrite, ServiceConnect'
'RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect'
'RegistryRead, ServiceConnect'
'RegistryRead, ServiceConnect, DeviceConnect'
'RegistryWrite'
'RegistryWrite, DeviceConnect'
'RegistryWrite, ServiceConnect'
'RegistryWrite, ServiceConnect, DeviceConnect'
'ServiceConnect'
'ServiceConnect, DeviceConnect'(필수)
secondaryKey 보조 키입니다. 문자열

StorageEndpointProperties

이름 묘사
authenticationType 스토리지 계정에 연결하는 데 사용되는 인증 유형을 지정합니다. 'identityBased'
'keyBased'
connectionString 파일이 업로드되는 Azure Storage 계정에 대한 연결 문자열입니다. string(필수)
containerName 파일을 업로드하는 루트 컨테이너의 이름입니다. 컨테이너는 존재하지 않아도 되지만 지정된 connectionString을 사용하여 만들 수 있어야 합니다. string(필수)
신원 파일 업로드를 위한 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
sasTtlAsIso8601 파일 업로드를 위해 IoT Hub에서 생성한 SAS URI가 유효한 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. 문자열

빠른 시작 템플릿

다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.

템플렛 묘사
IoT Hub를 사용하여 PAYG(종량제) 환경 만들기

Azure 배포
이 템플릿을 사용하면 IoT Hub에서 이벤트를 사용하도록 구성된 PAYG(Pay As You Go) Time Series Insights 환경을 배포할 수 있습니다.
IoT Hub 및 디바이스-클라우드 소비자 그룹 만들기

Azure 배포
이 템플릿을 사용하면 디바이스가 있는 IoT Hub 인스턴스를 클라우드 및 클라우드에 디바이스 메시징 구성에 배포하고 디바이스를 클라우드 소비자 그룹에 배포할 수 있습니다.
IOT Hub 및 Ubuntu 에지 시뮬레이터 만들기

Azure 배포
이 템플릿은 IOT Hub 및 Virtual Machine Ubuntu 에지 시뮬레이터를 만듭니다.
IoT Hub Device Provisioning Service 만들기

Azure 배포
이 템플릿을 사용하면 IoT Hub 및 IoT Hub Device Provisioning Service를 만들고 두 서비스를 함께 연결할 수 있습니다.
IoT Hub 계정, 인스턴스, IoT Hub 대한 디바이스 업데이트 만들기

Azure 배포
이 템플릿은 인스턴스를 연결할 계정과 인스턴스 및 허브를 만듭니다. 필요한 액세스 정책, 경로 및 소비자 그룹을 사용하여 허브를 구성합니다.
Azure IoT Hub 포함한 MedTech 서비스 배포

Azure 배포
MedTech 서비스는 여러 디바이스에서 디바이스 데이터를 수집하여 디바이스 데이터를 FHIR 관찰로 변환한 다음 Azure Health Data Services FHIR 서비스에 유지되도록 설계된 Azure Health Data Services 중 하나입니다.
ARM 템플릿을 사용하여 IoT Hub 만들기, 메시지 라우팅 및 보기

Azure 배포
이 템플릿을 사용하여 IoT Hub 및 스토리지 계정을 배포합니다. 앱을 실행하여 스토리지로 라우팅되는 허브로 메시지를 보낸 다음 결과를 봅니다.

Terraform(AzAPI 공급자) 리소스 정의

IotHubs 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.

  • 리소스 그룹

각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.

리소스 형식

Microsoft.Devices/IotHubs 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Devices/IotHubs@2023-06-30"
  name = "string"
  etag = "string"
  identity = {
    type = "string"
    userAssignedIdentities = {
      {customized property} = {
      }
    }
  }
  location = "string"
  body = jsonencode({
    properties = {
      allowedFqdnList = [
        "string"
      ]
      authorizationPolicies = [
        {
          keyName = "string"
          primaryKey = "string"
          rights = "string"
          secondaryKey = "string"
        }
      ]
      cloudToDevice = {
        defaultTtlAsIso8601 = "string"
        feedback = {
          lockDurationAsIso8601 = "string"
          maxDeliveryCount = int
          ttlAsIso8601 = "string"
        }
        maxDeliveryCount = int
      }
      comments = "string"
      disableDeviceSAS = bool
      disableLocalAuth = bool
      disableModuleSAS = bool
      enableDataResidency = bool
      enableFileUploadNotifications = bool
      eventHubEndpoints = {
        {customized property} = {
          partitionCount = int
          retentionTimeInDays = int
        }
      }
      features = "string"
      ipFilterRules = [
        {
          action = "string"
          filterName = "string"
          ipMask = "string"
        }
      ]
      messagingEndpoints = {
        {customized property} = {
          lockDurationAsIso8601 = "string"
          maxDeliveryCount = int
          ttlAsIso8601 = "string"
        }
      }
      minTlsVersion = "string"
      networkRuleSets = {
        applyToBuiltInEventHubEndpoint = bool
        defaultAction = "string"
        ipRules = [
          {
            action = "string"
            filterName = "string"
            ipMask = "string"
          }
        ]
      }
      privateEndpointConnections = [
        {
          properties = {
            privateEndpoint = {
            }
            privateLinkServiceConnectionState = {
              actionsRequired = "string"
              description = "string"
              status = "string"
            }
          }
        }
      ]
      publicNetworkAccess = "string"
      restrictOutboundNetworkAccess = bool
      routing = {
        endpoints = {
          cosmosDBSqlContainers = [
            {
              authenticationType = "string"
              containerName = "string"
              databaseName = "string"
              endpointUri = "string"
              identity = {
                userAssignedIdentity = "string"
              }
              name = "string"
              partitionKeyName = "string"
              partitionKeyTemplate = "string"
              primaryKey = "string"
              resourceGroup = "string"
              secondaryKey = "string"
              subscriptionId = "string"
            }
          ]
          eventHubs = [
            {
              authenticationType = "string"
              connectionString = "string"
              endpointUri = "string"
              entityPath = "string"
              id = "string"
              identity = {
                userAssignedIdentity = "string"
              }
              name = "string"
              resourceGroup = "string"
              subscriptionId = "string"
            }
          ]
          serviceBusQueues = [
            {
              authenticationType = "string"
              connectionString = "string"
              endpointUri = "string"
              entityPath = "string"
              id = "string"
              identity = {
                userAssignedIdentity = "string"
              }
              name = "string"
              resourceGroup = "string"
              subscriptionId = "string"
            }
          ]
          serviceBusTopics = [
            {
              authenticationType = "string"
              connectionString = "string"
              endpointUri = "string"
              entityPath = "string"
              id = "string"
              identity = {
                userAssignedIdentity = "string"
              }
              name = "string"
              resourceGroup = "string"
              subscriptionId = "string"
            }
          ]
          storageContainers = [
            {
              authenticationType = "string"
              batchFrequencyInSeconds = int
              connectionString = "string"
              containerName = "string"
              encoding = "string"
              endpointUri = "string"
              fileNameFormat = "string"
              id = "string"
              identity = {
                userAssignedIdentity = "string"
              }
              maxChunkSizeInBytes = int
              name = "string"
              resourceGroup = "string"
              subscriptionId = "string"
            }
          ]
        }
        enrichments = [
          {
            endpointNames = [
              "string"
            ]
            key = "string"
            value = "string"
          }
        ]
        fallbackRoute = {
          condition = "string"
          endpointNames = [
            "string"
          ]
          isEnabled = bool
          name = "string"
          source = "string"
        }
        routes = [
          {
            condition = "string"
            endpointNames = [
              "string"
            ]
            isEnabled = bool
            name = "string"
            source = "string"
          }
        ]
      }
      storageEndpoints = {
        {customized property} = {
          authenticationType = "string"
          connectionString = "string"
          containerName = "string"
          identity = {
            userAssignedIdentity = "string"
          }
          sasTtlAsIso8601 = "string"
        }
      }
    }
  })
  sku = {
    capacity = int
    name = "string"
  }
  tags = {
    {customized property} = "string"
  }
}

속성 값

ArmIdentity

이름 묘사
리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities <ArmUserIdentity> 사전 ArmIdentityUserAssignedIdentities

ArmIdentityUserAssignedIdentities

이름 묘사

ArmUserIdentity

이름 묘사

CloudToDeviceProperties

이름 묘사
defaultTtlAsIso8601 디바이스 큐의 클라우드-디바이스 메시지에 대한 기본 라이브 시간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
피드백 클라우드-디바이스 메시지에 대한 피드백 큐의 속성입니다. FeedbackProperties
maxDeliveryCount 디바이스 큐의 클라우드-디바이스 메시지에 대한 최대 배달 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100

EnrichmentProperties

이름 묘사
endpointNames 보강이 메시지에 적용되는 엔드포인트 목록입니다. string[] (필수)
열쇠 보강 속성의 키 또는 이름입니다. string(필수)
보강 속성의 값입니다. string(필수)

EventHubProperties

이름 묘사
partitionCount Event Hub 호환 엔드포인트에서 디바이스-클라우드 메시지를 수신하기 위한 파티션 수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. int
retentionTimeInDays 디바이스-클라우드 메시지의 보존 시간(일)입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages int

FallbackRouteProperties

이름 묘사
조건 대체 경로를 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재 1개 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 대체 경로가 사용되는지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열
근원 라우팅 규칙을 적용할 원본입니다. 예를 들어 DeviceMessages 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

FeedbackProperties

이름 묘사
lockDurationAsIso8601 피드백 큐의 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열
maxDeliveryCount IoT Hub가 피드백 큐에 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. 문자열

IotHubProperties

이름 묘사
allowedFqdnList Iot Hub에서 송신할 수 있는 FQDN(정규화된 도메인 이름) 목록입니다. string[]
authorizationPolicies IoT Hub에 대한 연결을 보호하는 데 사용할 수 있는 공유 액세스 정책입니다. SharedAccessSignatureAuthorizationRule[]
cloudToDevice IoT Hub 클라우드-디바이스 메시징 속성입니다. cloudToDeviceProperties
코멘트 IoT Hub 주석 문자열
disableDeviceSAS true이면 모든 디바이스(Edge 디바이스를 포함하지만 모듈 제외) 범위 SAS 키를 인증에 사용할 수 없습니다. bool
disableLocalAuth true이면 IoT 허브 범위 SAS 키를 사용하는 SAS 토큰을 인증에 사용할 수 없습니다. bool
disableModuleSAS true이면 모든 모듈 범위 SAS 키를 인증에 사용할 수 없습니다. bool
enableDataResidency true로 설정하면 이 속성이 데이터 보존을 사용하도록 설정되므로 재해 복구를 사용하지 않도록 설정합니다. bool
enableFileUploadNotifications True이면 파일 업로드 알림이 활성화됩니다. bool
eventHubEndpoints Event Hub 호환 엔드포인트 속성입니다. 이 사전의 유일한 키는 이벤트입니다. 이 키는 IoT Hub에 대한 호출을 만들거나 업데이트하는 동안 사전에 있어야 합니다. IotHubPropertiesEventHubEndpoints
기능 IoT Hub에 사용할 수 있는 기능 및 기능입니다. 'DeviceManagement'
'None'
ipFilterRules IP 필터 규칙입니다. ipFilterRule[]
messagingEndpoints 파일 업로드 알림 큐에 대한 메시징 엔드포인트 속성입니다. IotHubPropertiesMessagingEndpoints
minTlsVersion 이 허브에 대해 지원할 최소 TLS 버전을 지정합니다. 1.2 미만의 TLS 버전을 사용하는 클라이언트가 거부되도록 "1.2"로 설정할 수 있습니다. 문자열
networkRuleSets IotHub의 네트워크 규칙 집합 속성 networkRuleSetProperties
privateEndpointConnections 이 IotHub에서 만든 프라이빗 엔드포인트 연결 PrivateEndpointConnection[]
publicNetworkAccess 공용 네트워크의 요청 허용 여부 '사용 안 함'
'Enabled'
restrictOutboundNetworkAccess true이면 IotHub에서 송신은 allowedFqdnList를 통해 구성된 허용된 FQDN으로만 제한됩니다. bool
라우팅 IoT Hub의 라우팅 관련 속성입니다. 참조: /azure/iot-hub/iot-hub-devguide-messaging RoutingProperties
storageEndpoints 파일을 업로드할 수 있는 Azure Storage 엔드포인트 목록입니다. 현재 Azure Storage 계정은 하나만 구성할 수 있으며 해당 키는 $default. 둘 이상의 스토리지 계정을 지정하면 오류가 발생합니다. enableFileUploadNotifications 속성이 True로 설정된 경우 이 속성의 값을 지정하지 않으면 오류가 발생합니다. IotHubPropertiesStorageEndpoints

IotHubPropertiesEventHubEndpoints

이름 묘사

IotHubPropertiesMessagingEndpoints

이름 묘사

IotHubPropertiesStorageEndpoints

이름 묘사

IotHubSkuInfo

이름 묘사
용량 프로비전된 IoT Hub 단위의 수입니다. 참조: /azure/azure-subscription-service-limits#iot-hub-limits. int
이름 SKU의 이름입니다. 'B1'
'B2'
'B3'
'F1'
'S1'
'S2'
'S3'(필수)

IpFilterRule

이름 묘사
행동 이 규칙에서 캡처한 요청에 대해 원하는 작업입니다. '수락'
'Reject'(필수)
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

ManagedIdentity

이름 묘사
userAssignedIdentity 사용자 할당 ID입니다. 문자열

MessagingEndpointProperties

이름 묘사
lockDurationAsIso8601 잠금 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열
maxDeliveryCount IoT Hub가 메시지를 배달하려고 시도하는 횟수입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. int

제약 조건:
최소값 = 1
최대값 = 100
ttlAsIso8601 IoT Hub에서 만료되기 전에 메시지를 사용할 수 있는 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload. 문자열

Microsoft.Devices/IotHubs

이름 묘사
etag Etag 필드가 필요하지 . 응답 본문에 제공된 경우 일반 ETag 규칙에 따라 헤더로도 제공해야 합니다. 문자열
신원 IotHub의 관리 ID입니다. ArmIdentity
위치 리소스 위치입니다. string(필수)
이름 리소스 이름 string(필수)
속성 IotHub 속성 IotHubProperties
sku IotHub SKU 정보 IotHubSkuInfo (필수)
태그 리소스 태그 태그 이름 및 값의 사전입니다.
리소스 종류 "Microsoft.Devices/IotHubs@2023-06-30"

NetworkRuleSetIpRule

이름 묘사
행동 IP 필터 작업 '허용'
filterName IP 필터 규칙의 이름입니다. string(필수)
ipMask 규칙에 대한 CIDR 표기법의 IP 주소 범위를 포함하는 문자열입니다. string(필수)

NetworkRuleSetProperties

이름 묘사
applyToBuiltInEventHubEndpoint True이면 네트워크 규칙 집합이 IotHub의 BuiltIn EventHub 엔드포인트에도 적용됩니다. bool(필수)
defaultAction 네트워크 규칙 집합에 대한 기본 작업 '허용'
'거부'
ipRules IP 규칙 목록 NetworkRuleSetIpRule[] (필수)

PrivateEndpoint

이름 묘사

PrivateEndpointConnection

이름 묘사
속성 프라이빗 엔드포인트 연결의 속성 PrivateEndpointConnectionProperties(필수)

PrivateEndpointConnectionProperties

이름 묘사
privateEndpoint 프라이빗 엔드포인트 연결의 프라이빗 엔드포인트 속성 PrivateEndpoint
privateLinkServiceConnectionState 프라이빗 엔드포인트 연결의 현재 상태 PrivateLinkServiceConnectionState(필수)

PrivateLinkServiceConnectionState

이름 묘사
actionsRequired 프라이빗 엔드포인트 연결에 필요한 작업 문자열
묘사 프라이빗 엔드포인트 연결의 현재 상태에 대한 설명입니다. string(필수)
상태 프라이빗 엔드포인트 연결의 상태입니다. '승인됨'
'연결 끊김'
'보류 중'
'Rejected'(필수)

ResourceTags

이름 묘사

RouteProperties

이름 묘사
조건 라우팅 규칙을 적용하기 위해 평가되는 조건입니다. 조건이 제공되지 않으면 기본적으로 true로 평가됩니다. 문법은 다음을 참조하세요. /azure/iot-hub/iot-hub-devguide-query-language 문자열
endpointNames 조건을 충족하는 메시지가 라우팅되는 엔드포인트 목록입니다. 현재는 하나의 엔드포인트만 허용됩니다. string[] (필수)
isEnabled 경로를 사용할지 여부를 지정하는 데 사용됩니다. bool(필수)
이름 경로의 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자이며 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
근원 DeviceMessages와 같이 라우팅 규칙을 적용할 원본입니다. 'DeviceConnectionStateEvents'
'DeviceJobLifecycleEvents'
'DeviceLifecycleEvents'
'DeviceMessages'
'Invalid'
'TwinChangeEvents'(필수)

RoutingCosmosDBSqlApiProperties

이름 묘사
authenticationType cosmos DB sql 컨테이너 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
containerName cosmos DB 데이터베이스에 있는 cosmos DB sql 컨테이너의 이름입니다. string(필수)
databaseName cosmos DB 계정에 있는 cosmos DB 데이터베이스의 이름입니다. string(필수)
endpointUri cosmos DB 계정의 URL입니다. 프로토콜 https:// 포함해야 합니다. string(필수)
신원 cosmos DB 컨테이너 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
partitionKeyName 이 cosmos DB sql 컨테이너(있는 경우)와 연결된 파티션 키의 이름입니다. 선택적 매개 변수입니다. 문자열
partitionKeyTemplate 이 cosmos DB sql 컨테이너에 사용할 가상 파티션 키 값을 생성하기 위한 템플릿입니다. 템플릿에는 {iothub}, {deviceid}, {DD}, {MM}, {YYYY} 자리 표시자 중 하나 이상이 포함되어야 합니다. 한 자리 표시자를 한 번만 지정할 수 있지만 순서 및 자리 표시자가 아닌 구성 요소는 임의로 지정됩니다. 이 매개 변수는 PartitionKeyName이 지정된 경우에만 필요합니다. 문자열
primaryKey cosmos DB 계정의 기본 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
resourceGroup cosmos DB 계정의 리소스 그룹 이름입니다. 문자열
secondaryKey cosmos DB 계정의 보조 키입니다. 문자열

제약 조건:
중요한 값입니다. 보안 매개 변수로 전달합니다.
subscriptionId cosmos DB 계정의 구독 식별자입니다. 문자열

RoutingEndpoints

이름 묘사
cosmosDBSqlContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Cosmos DB 컨테이너 엔드포인트 목록입니다. RoutingCosmosDBSqlApiProperties[]
eventHubs 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 Event Hubs 엔드포인트 목록입니다. 이 목록에는 기본 제공 Event Hubs 엔드포인트가 포함되지 않습니다. RoutingEventHubProperties[]
serviceBusQueues IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 큐 엔드포인트 목록입니다. RoutingServiceBusQueueEndpointProperties[]
serviceBusTopics IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 Service Bus 토픽 엔드포인트 목록입니다. RoutingServiceBusTopicEndpointProperties[]
storageContainers 라우팅 규칙에 따라 IoT Hub가 메시지를 라우팅하는 스토리지 컨테이너 엔드포인트 목록입니다. RoutingStorageContainerProperties[]

RoutingEventHubProperties

이름 묘사
authenticationType 이벤트 허브 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString 이벤트 허브 엔드포인트의 연결 문자열입니다. 문자열
endpointUri 이벤트 허브 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath 이벤트 허브 네임스페이스의 이벤트 허브 이름 문자열
아이디 이벤트 허브 엔드포인트의 ID 문자열
신원 라우팅 이벤트 허브 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 이벤트 허브 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId 이벤트 허브 엔드포인트의 구독 식별자입니다. 문자열

RoutingProperties

이름 묘사
끝점 IoT Hub가 라우팅 규칙에 따라 메시지를 라우팅하는 사용자 지정 엔드포인트와 관련된 속성입니다. 유료 허브의 모든 엔드포인트 유형에서 최대 10개의 사용자 지정 엔드포인트가 허용되며, 무료 허브의 모든 엔드포인트 유형에서 1개의 사용자 지정 엔드포인트만 허용됩니다. RoutingEndpoints
보강 IoT Hub가 기본 제공 및 사용자 지정 엔드포인트에 배달할 메시지에 적용되는 사용자 제공 보강 목록입니다. 참조: https://aka.ms/telemetryoneventgrid EnrichmentProperties[]
fallbackRoute '경로' 섹션에 지정된 조건이 충족되지 않을 때 대체 경로로 사용되는 경로의 속성입니다. 선택적 매개 변수입니다. 이 속성이 템플릿에 없으면 대체 경로는 기본적으로 사용하지 않도록 설정됩니다. FallbackRouteProperties
경로 IoT Hub가 메시지를 기본 제공 및 사용자 지정 엔드포인트로 라우팅하는 데 사용하는 사용자 제공 라우팅 규칙 목록입니다. 유료 허브에는 최대 100개의 라우팅 규칙이 허용되며 무료 허브에는 최대 5개의 라우팅 규칙이 허용됩니다. RouteProperties[]

RoutingServiceBusQueueEndpointProperties

이름 묘사
authenticationType Service Bus 큐 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 큐 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 큐 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 네임스페이스의 큐 이름 문자열
아이디 Service Bus 큐 엔드포인트의 ID 문자열
신원 Service Bus 큐 엔드포인트 라우팅의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 큐 이름과 동일할 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 큐 엔드포인트의 리소스 그룹의 이름입니다. 문자열
subscriptionId Service Bus 큐 엔드포인트의 구독 식별자입니다. 문자열

RoutingServiceBusTopicEndpointProperties

이름 묘사
authenticationType Service Bus 토픽 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
connectionString Service Bus 토픽 엔드포인트의 연결 문자열입니다. 문자열
endpointUri Service Bus 토픽 엔드포인트의 URL입니다. 프로토콜 sb:// 포함해야 합니다. 문자열
entityPath Service Bus 토픽의 큐 이름 문자열
아이디 Service Bus 토픽 엔드포인트의 ID 문자열
신원 라우팅 Service Bus 토픽 엔드포인트의 관리 ID 속성입니다. managedIdentity
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 이름은 실제 토픽 이름과 같을 필요가 없습니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup Service Bus 토픽 엔드포인트의 리소스 그룹 이름입니다. 문자열
subscriptionId Service Bus 토픽 엔드포인트의 구독 식별자입니다. 문자열

RoutingStorageContainerProperties

이름 묘사
authenticationType 스토리지 엔드포인트에 대해 인증하는 데 사용되는 메서드 'identityBased'
'keyBased'
batchFrequencyInSeconds Blob이 스토리지에 기록되는 시간 간격입니다. 값은 60초에서 720초 사이여야 합니다. 기본값은 300초입니다. int

제약 조건:
최소값 = 60
최대값 = 720
connectionString 스토리지 계정의 연결 문자열입니다. 문자열
containerName 스토리지 계정의 스토리지 컨테이너 이름입니다. string(필수)
인코딩 메시지를 Blob으로 직렬화하는 데 사용되는 인코딩입니다. 지원되는 값은 'avro', 'avrodeflate' 및 'JSON'입니다. 기본값은 'avro'입니다. 'Avro'
'AvroDeflate'
'JSON'
endpointUri 스토리지 엔드포인트의 URL입니다. 프로토콜 https:// 포함해야 합니다. 문자열
fileNameFormat Blob의 파일 이름 형식입니다. 기본 형식은 {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}입니다. 모든 매개 변수는 필수이지만 순서를 변경할 수 있습니다. 문자열
아이디 스토리지 컨테이너 엔드포인트의 ID 문자열
신원 라우팅 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
maxChunkSizeInBytes 스토리지에 기록된 각 Blob의 최대 바이트 수입니다. 값은 10485760(10MB)에서 524288000(500MB) 사이여야 합니다. 기본값은 314572800(300MB)입니다. int

제약 조건:
최소값 = 10485760
최대값 = 524288000
이름 이 엔드포인트를 식별하는 이름입니다. 이름은 영숫자 문자, 마침표, 밑줄, 하이픈만 포함할 수 있으며 최대 길이는 64자입니다. 예약된 이름은 이벤트, fileNotifications, $default. 엔드포인트 이름은 엔드포인트 유형에서 고유해야 합니다. 문자열

제약 조건:
패턴 = ^[A-Za-z0-9-._]{1,64}$(필수)
resourceGroup 스토리지 계정의 리소스 그룹 이름입니다. 문자열
subscriptionId 스토리지 계정의 구독 식별자입니다. 문자열

SharedAccessSignatureAuthorizationRule

이름 묘사
keyName 공유 액세스 정책의 이름입니다. string(필수)
primaryKey 기본 키입니다. 문자열
권한 공유 액세스 정책에 할당된 권한입니다. 'DeviceConnect'
'RegistryRead'
'RegistryRead, DeviceConnect'
'RegistryRead, RegistryWrite'
'RegistryRead, RegistryWrite, DeviceConnect'
'RegistryRead, RegistryWrite, ServiceConnect'
'RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect'
'RegistryRead, ServiceConnect'
'RegistryRead, ServiceConnect, DeviceConnect'
'RegistryWrite'
'RegistryWrite, DeviceConnect'
'RegistryWrite, ServiceConnect'
'RegistryWrite, ServiceConnect, DeviceConnect'
'ServiceConnect'
'ServiceConnect, DeviceConnect'(필수)
secondaryKey 보조 키입니다. 문자열

StorageEndpointProperties

이름 묘사
authenticationType 스토리지 계정에 연결하는 데 사용되는 인증 유형을 지정합니다. 'identityBased'
'keyBased'
connectionString 파일이 업로드되는 Azure Storage 계정에 대한 연결 문자열입니다. string(필수)
containerName 파일을 업로드하는 루트 컨테이너의 이름입니다. 컨테이너는 존재하지 않아도 되지만 지정된 connectionString을 사용하여 만들 수 있어야 합니다. string(필수)
신원 파일 업로드를 위한 스토리지 엔드포인트의 관리 ID 속성입니다. managedIdentity
sasTtlAsIso8601 파일 업로드를 위해 IoT Hub에서 생성한 SAS URI가 유효한 기간입니다. 참조: /azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. 문자열