Microsoft.Devices IotHubs
- 최신
- 2023-06-30
- 2023-06-30-preview
- 2022-11-15-preview
- 2022-04-30-preview
- 2021-07-02
- 2021-07-02-preview
- 2021-07-01
- 2021-07-01-preview
- 2021-03-31
- 2021-03-03-preview
- 2021-02-01-preview
- 2020-08-31
- 2020-08-31-preview
- 2020-08-01
- 2020-07-10-preview
- 2020-06-15
- 2020-04-01
- 2020-03-01
- 2019-11-04
- 2019-07-01-preview
- 2019-03-22
- 2019-03-22-preview
- 2018-12-01-preview
- 2018-04-01
- 2018-01-22
- 2017-07-01
- 2017-01-19
- 2016-02-03
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 필드가 필요하지 |
문자열 |
신원 | 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 필드가 필요하지 |
문자열 |
신원 | 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"
sku = {
capacity = int
name = "string"
}
tags = {
{customized property} = "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"
}
}
}
})
}
속성 값
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 필드가 필요하지 |
문자열 |
신원 | 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. | 문자열 |