Microsoft.Devices IotHubs 2020-03-01
- 最新の を
する - 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@2020-03-01' = {
etag: 'string'
location: 'string'
name: 'string'
properties: {
authorizationPolicies: [
{
keyName: 'string'
primaryKey: 'string'
rights: 'string'
secondaryKey: 'string'
}
]
cloudToDevice: {
defaultTtlAsIso8601: 'string'
feedback: {
lockDurationAsIso8601: 'string'
maxDeliveryCount: int
ttlAsIso8601: 'string'
}
maxDeliveryCount: int
}
comments: 'string'
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'
privateEndpointConnections: [
{
properties: {
privateEndpoint: {}
privateLinkServiceConnectionState: {
actionsRequired: 'string'
description: 'string'
status: 'string'
}
}
}
]
publicNetworkAccess: 'string'
routing: {
endpoints: {
eventHubs: [
{
authenticationType: 'string'
connectionString: 'string'
endpointUri: 'string'
entityPath: 'string'
id: 'string'
name: 'string'
resourceGroup: 'string'
subscriptionId: 'string'
}
]
serviceBusQueues: [
{
authenticationType: 'string'
connectionString: 'string'
endpointUri: 'string'
entityPath: 'string'
id: 'string'
name: 'string'
resourceGroup: 'string'
subscriptionId: 'string'
}
]
serviceBusTopics: [
{
authenticationType: 'string'
connectionString: 'string'
endpointUri: 'string'
entityPath: 'string'
id: 'string'
name: 'string'
resourceGroup: 'string'
subscriptionId: 'string'
}
]
storageContainers: [
{
authenticationType: 'string'
batchFrequencyInSeconds: int
connectionString: 'string'
containerName: 'string'
encoding: 'string'
endpointUri: 'string'
fileNameFormat: 'string'
id: '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'
sasTtlAsIso8601: 'string'
}
}
}
sku: {
capacity: int
name: 'string'
}
tags: {
{customized property}: 'string'
}
}
プロパティ値
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 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
FeedbackProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | フィードバック キューのロック期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがフィードバック キューにメッセージを配信しようとした回数。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
IotHubProperties
名前 | 形容 | 価値 |
---|---|---|
authorizationPolicies | IoT ハブへの接続をセキュリティで保護するために使用できる共有アクセス ポリシー。 | SharedAccessSignatureAuthorizationRule[] |
cloudToDevice | IoT Hub のクラウドからデバイスへのメッセージング プロパティ。 | CloudToDeviceProperties |
コメント | IoT Hub のコメント。 | 糸 |
enableFileUploadNotifications | True の場合、ファイルのアップロード通知が有効になります。 | bool |
eventHubEndpoints | Event Hub と互換性のあるエンドポイントのプロパティ。 このディクショナリに使用できる唯一のキーはイベントです。 このキーは、IoT ハブの作成または更新呼び出しを行う際にディクショナリに存在する必要があります。 | IotHubPropertiesEventHubEndpoints を |
顔立ち | IoT ハブで有効になっている機能。 | 'DeviceManagement' 'None' |
ipFilterRules | IP フィルター規則。 | IpFilterRule[] |
messagingEndpoints | ファイル アップロード通知キューのメッセージング エンドポイントプロパティ。 | IotHubPropertiesMessagingEndpoints |
minTlsVersion | このハブをサポートする TLS の最小バージョンを指定します。 1.2 より前の TLS バージョンを使用するクライアントを拒否するには、"1.2" に設定できます。 | 糸 |
privateEndpointConnections | この IotHub で作成されたプライベート エンドポイント接続 | PrivateEndpointConnection[] |
publicNetworkAccess | パブリック ネットワークからの要求が許可されるかどうか | 'Disabled' 'Enabled' |
ルーティング | IoT ハブのルーティング関連のプロパティ。 参照: /azure/iot-hub/iot-hub-devguide-messaging | RoutingProperties |
storageEndpoints | ファイルをアップロードできる Azure Storage エンドポイントの一覧。 現在、構成できる Azure Storage アカウントは 1 つだけであり、そのキーを$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
名前 | 形容 | 価値 |
---|---|---|
アクション | このルールによってキャプチャされた要求に対して必要なアクション。 | 'Accept' 'Reject' (必須) |
filterName | IP フィルター規則の名前。 | string (必須) |
ipMask | 規則の IP アドレス範囲を CIDR 表記で含む文字列。 | string (必須) |
MessagingEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | ロック期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがメッセージの配信を試みる回数。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
Microsoft.Devices/IotHubs
名前 | 形容 | 価値 |
---|---|---|
etag | Etag フィールドは 必要ありません。 応答本文で指定する場合は、通常の ETag 規則に従ってヘッダーとしても指定する必要があります。 | 糸 |
場所 | リソースの場所。 | string (必須) |
名前 | リソース名 | string (必須) |
プロパティ | IotHub プロパティ | IotHubProperties の |
sku | IotHub SKU 情報 | IotHubSkuInfo (必須) |
タグ | リソース タグ | タグ名と値のディクショナリ。 テンプレート の |
PrivateEndpoint
名前 | 形容 | 価値 |
---|
PrivateEndpointConnection
名前 | 形容 | 価値 |
---|---|---|
プロパティ | プライベート エンドポイント接続のプロパティ | PrivateEndpointConnectionProperties (必須) |
PrivateEndpointConnectionProperties
名前 | 形容 | 価値 |
---|---|---|
privateEndpoint | プライベート エンドポイント接続のプライベート エンドポイント プロパティ | PrivateEndpoint を |
privateLinkServiceConnectionState | プライベート エンドポイント接続の現在の状態 | PrivateLinkServiceConnectionState (必須) |
PrivateLinkServiceConnectionState
名前 | 形容 | 価値 |
---|---|---|
actionsRequired | プライベート エンドポイント接続に必要なアクション | 糸 |
形容 | プライベート エンドポイント接続の現在の状態の説明 | string (必須) |
地位 | プライベート エンドポイント接続の状態 | 'Approved' 'Disconnected' 'Pending' 'Rejected' (必須) |
ResourceTags
名前 | 形容 | 価値 |
---|
RouteProperties
名前 | 形容 | 価値 |
---|---|---|
条件 | ルーティング規則を適用するために評価される条件。 条件が指定されていない場合は、既定で true に評価されます。 文法については、/azure/iot-hub/iot-hub-devguide-query-language を参照してください。 | 糸 |
endpointNames | 条件を満たすメッセージがルーティングされるエンドポイントの一覧。 現在、許可されているエンドポイントは 1 つだけです。 | string[] (必須) |
isEnabled | ルートを有効にするかどうかを指定するために使用します。 | bool (必須) |
名前 | ルートの名前。 名前には、英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字で、一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
源 | ルーティング規則を適用するソース (DeviceMessages など)。 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
RoutingEndpoints
名前 | 形容 | 価値 |
---|---|---|
eventHubs | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングする Event Hubs エンドポイントの一覧。 この一覧には、組み込みの Event Hubs エンドポイントは含まれません。 | RoutingEventHubProperties[] |
serviceBusQueues | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus キュー エンドポイントの一覧。 | RoutingServiceBusQueueEndpointProperties[] |
serviceBusTopics | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus トピック エンドポイントの一覧。 | RoutingServiceBusTopicEndpointProperties[] |
storageContainers | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングするストレージ コンテナー エンドポイントの一覧。 | RoutingStorageContainerProperties[] |
RoutingEventHubProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | イベント ハブ エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | イベント ハブ エンドポイントの接続文字列。 | 糸 |
endpointUri | イベント ハブ エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | イベント ハブ名前空間のイベント ハブ名 | 糸 |
身分証明書 | イベント ハブ エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字です。 予約されている名前は、イベント、fileNotifications、$defaultです。 エンドポイント名は、エンドポイントの種類間で一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
resourceGroup | イベント ハブ エンドポイントのリソース グループの名前。 | 糸 |
subscriptionId | イベント ハブ エンドポイントのサブスクリプション識別子。 | 糸 |
RoutingProperties
名前 | 形容 | 価値 |
---|---|---|
エンドポイント | IoT ハブがルーティング規則に基づいてメッセージをルーティングするカスタム エンドポイントに関連するプロパティ。 有料ハブのすべての種類のすべてのエンドポイントで最大 10 個のカスタム エンドポイントが許可され、無料ハブのすべてのエンドポイントの種類で許可されるカスタム エンドポイントは 1 つだけです。 | RoutingEndpoints の |
エンリッチメント | 組み込みエンドポイントとカスタム エンドポイントに配信されるメッセージに IoT ハブが適用するユーザー指定のエンリッチメントの一覧。 参照: https://aka.ms/telemetryoneventgrid | EnrichmentProperties[] |
fallbackRoute | "routes" セクションで指定された条件が満たされていない場合にフォールバック ルートとして使用されるルートのプロパティ。 これは省略可能なパラメーターです。 このプロパティが設定されていない場合、'routes' セクションで指定された条件を満たしていないメッセージは、組み込みの eventhub エンドポイントにルーティングされます。 | FallbackRouteProperties の |
ルート | IoT ハブが組み込みエンドポイントとカスタム エンドポイントにメッセージをルーティングするために使用するユーザー指定のルーティング規則の一覧。 有料ハブには最大 100 個のルーティング規則が許可され、無料ハブでは最大 5 つのルーティング規則が許可されます。 | RouteProperties[] |
RoutingServiceBusQueueEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | Service Bus キュー エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | Service Bus キュー エンドポイントの接続文字列。 | 糸 |
endpointUri | Service Bus キュー エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | Service Bus 名前空間のキュー名 | 糸 |
身分証明書 | Service Bus キュー エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
maxChunkSizeInBytes | ストレージに書き込まれる各 BLOB の最大バイト数。 値は、10485760(10 MB) から 524288000(500 MB) の間である必要があります。 既定値は 314572800(300 MB) です。 | 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 (必須) |
sasTtlAsIso8601 | IoT Hub によって生成されたファイルアップロード用の SAS URI が有効な期間。 /azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options を参照してください。 | 糸 |
クイック スタートのサンプル
次のクイック スタート サンプルでは、このリソースの種類をデプロイします。
Bicep ファイル | 形容 |
---|---|
IoT Hub と Device to Cloud Consumer Group を作成する | このテンプレートを使用すると、デバイスを含む IoT Hub インスタンスをクラウドにデプロイし、クラウドからデバイス メッセージング構成に、デバイスをクラウド コンシューマー グループにデプロイできます。 |
IoT Hub Device Provisioning Service を作成する | このテンプレートを使用すると、IoT ハブと IoT Hub Device Provisioning Service を作成し、2 つのサービスをリンクできます。 |
IoT Hub アカウント、インスタンス、IoT Hub の Device Update を作成する | このテンプレートは、アカウントと、インスタンスをリンクするインスタンスとハブを作成します。 必要なアクセス ポリシー、ルート、およびコンシューマー グループを使用してハブを構成します。 |
Azure IoT Hub を含む MedTech サービスをデプロイする | MedTech サービスは、複数のデバイスからデバイス データを取り込み、デバイス データを FHIR Observations に変換し、Azure Health Data Services FHIR サービスに保持するように設計された Azure Health Data Services の 1 つです。 |
ARM テンプレートを使用して IoT Hub を作成し、メッセージをルーティングして表示 | このテンプレートを使用して、IoT Hub とストレージ アカウントをデプロイします。 ストレージにルーティングされたハブにメッセージを送信するアプリを実行し、結果を表示します。 |
ARM テンプレート リソース定義
IotHubs リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループの - リソース グループのデプロイ コマンド 参照
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Devices/IotHubs リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Devices/IotHubs",
"apiVersion": "2020-03-01",
"name": "string",
"etag": "string",
"location": "string",
"properties": {
"authorizationPolicies": [
{
"keyName": "string",
"primaryKey": "string",
"rights": "string",
"secondaryKey": "string"
}
],
"cloudToDevice": {
"defaultTtlAsIso8601": "string",
"feedback": {
"lockDurationAsIso8601": "string",
"maxDeliveryCount": "int",
"ttlAsIso8601": "string"
},
"maxDeliveryCount": "int"
},
"comments": "string",
"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",
"privateEndpointConnections": [
{
"properties": {
"privateEndpoint": {
},
"privateLinkServiceConnectionState": {
"actionsRequired": "string",
"description": "string",
"status": "string"
}
}
}
],
"publicNetworkAccess": "string",
"routing": {
"endpoints": {
"eventHubs": [
{
"authenticationType": "string",
"connectionString": "string",
"endpointUri": "string",
"entityPath": "string",
"id": "string",
"name": "string",
"resourceGroup": "string",
"subscriptionId": "string"
}
],
"serviceBusQueues": [
{
"authenticationType": "string",
"connectionString": "string",
"endpointUri": "string",
"entityPath": "string",
"id": "string",
"name": "string",
"resourceGroup": "string",
"subscriptionId": "string"
}
],
"serviceBusTopics": [
{
"authenticationType": "string",
"connectionString": "string",
"endpointUri": "string",
"entityPath": "string",
"id": "string",
"name": "string",
"resourceGroup": "string",
"subscriptionId": "string"
}
],
"storageContainers": [
{
"authenticationType": "string",
"batchFrequencyInSeconds": "int",
"connectionString": "string",
"containerName": "string",
"encoding": "string",
"endpointUri": "string",
"fileNameFormat": "string",
"id": "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",
"sasTtlAsIso8601": "string"
}
}
},
"sku": {
"capacity": "int",
"name": "string"
},
"tags": {
"{customized property}": "string"
}
}
プロパティ値
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 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
FeedbackProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | フィードバック キューのロック期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがフィードバック キューにメッセージを配信しようとした回数。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
IotHubProperties
名前 | 形容 | 価値 |
---|---|---|
authorizationPolicies | IoT ハブへの接続をセキュリティで保護するために使用できる共有アクセス ポリシー。 | SharedAccessSignatureAuthorizationRule[] |
cloudToDevice | IoT Hub のクラウドからデバイスへのメッセージング プロパティ。 | CloudToDeviceProperties |
コメント | IoT Hub のコメント。 | 糸 |
enableFileUploadNotifications | True の場合、ファイルのアップロード通知が有効になります。 | bool |
eventHubEndpoints | Event Hub と互換性のあるエンドポイントのプロパティ。 このディクショナリに使用できる唯一のキーはイベントです。 このキーは、IoT ハブの作成または更新呼び出しを行う際にディクショナリに存在する必要があります。 | IotHubPropertiesEventHubEndpoints を |
顔立ち | IoT ハブで有効になっている機能。 | 'DeviceManagement' 'None' |
ipFilterRules | IP フィルター規則。 | IpFilterRule[] |
messagingEndpoints | ファイル アップロード通知キューのメッセージング エンドポイントプロパティ。 | IotHubPropertiesMessagingEndpoints |
minTlsVersion | このハブをサポートする TLS の最小バージョンを指定します。 1.2 より前の TLS バージョンを使用するクライアントを拒否するには、"1.2" に設定できます。 | 糸 |
privateEndpointConnections | この IotHub で作成されたプライベート エンドポイント接続 | PrivateEndpointConnection[] |
publicNetworkAccess | パブリック ネットワークからの要求が許可されるかどうか | 'Disabled' 'Enabled' |
ルーティング | IoT ハブのルーティング関連のプロパティ。 参照: /azure/iot-hub/iot-hub-devguide-messaging | RoutingProperties |
storageEndpoints | ファイルをアップロードできる Azure Storage エンドポイントの一覧。 現在、構成できる Azure Storage アカウントは 1 つだけであり、そのキーを$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
名前 | 形容 | 価値 |
---|---|---|
アクション | このルールによってキャプチャされた要求に対して必要なアクション。 | 'Accept' 'Reject' (必須) |
filterName | IP フィルター規則の名前。 | string (必須) |
ipMask | 規則の IP アドレス範囲を CIDR 表記で含む文字列。 | string (必須) |
MessagingEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | ロック期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがメッセージの配信を試みる回数。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
Microsoft.Devices/IotHubs
名前 | 形容 | 価値 |
---|---|---|
apiVersion | API のバージョン | '2020-03-01' |
etag | Etag フィールドは 必要ありません。 応答本文で指定する場合は、通常の ETag 規則に従ってヘッダーとしても指定する必要があります。 | 糸 |
場所 | リソースの場所。 | string (必須) |
名前 | リソース名 | string (必須) |
プロパティ | IotHub プロパティ | IotHubProperties の |
sku | IotHub SKU 情報 | IotHubSkuInfo (必須) |
タグ | リソース タグ | タグ名と値のディクショナリ。 テンプレート の |
種類 | リソースの種類 | 'Microsoft.Devices/IotHubs' |
PrivateEndpoint
名前 | 形容 | 価値 |
---|
PrivateEndpointConnection
名前 | 形容 | 価値 |
---|---|---|
プロパティ | プライベート エンドポイント接続のプロパティ | PrivateEndpointConnectionProperties (必須) |
PrivateEndpointConnectionProperties
名前 | 形容 | 価値 |
---|---|---|
privateEndpoint | プライベート エンドポイント接続のプライベート エンドポイント プロパティ | PrivateEndpoint を |
privateLinkServiceConnectionState | プライベート エンドポイント接続の現在の状態 | PrivateLinkServiceConnectionState (必須) |
PrivateLinkServiceConnectionState
名前 | 形容 | 価値 |
---|---|---|
actionsRequired | プライベート エンドポイント接続に必要なアクション | 糸 |
形容 | プライベート エンドポイント接続の現在の状態の説明 | string (必須) |
地位 | プライベート エンドポイント接続の状態 | 'Approved' 'Disconnected' 'Pending' 'Rejected' (必須) |
ResourceTags
名前 | 形容 | 価値 |
---|
RouteProperties
名前 | 形容 | 価値 |
---|---|---|
条件 | ルーティング規則を適用するために評価される条件。 条件が指定されていない場合は、既定で true に評価されます。 文法については、/azure/iot-hub/iot-hub-devguide-query-language を参照してください。 | 糸 |
endpointNames | 条件を満たすメッセージがルーティングされるエンドポイントの一覧。 現在、許可されているエンドポイントは 1 つだけです。 | string[] (必須) |
isEnabled | ルートを有効にするかどうかを指定するために使用します。 | bool (必須) |
名前 | ルートの名前。 名前には、英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字で、一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
源 | ルーティング規則を適用するソース (DeviceMessages など)。 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
RoutingEndpoints
名前 | 形容 | 価値 |
---|---|---|
eventHubs | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングする Event Hubs エンドポイントの一覧。 この一覧には、組み込みの Event Hubs エンドポイントは含まれません。 | RoutingEventHubProperties[] |
serviceBusQueues | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus キュー エンドポイントの一覧。 | RoutingServiceBusQueueEndpointProperties[] |
serviceBusTopics | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus トピック エンドポイントの一覧。 | RoutingServiceBusTopicEndpointProperties[] |
storageContainers | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングするストレージ コンテナー エンドポイントの一覧。 | RoutingStorageContainerProperties[] |
RoutingEventHubProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | イベント ハブ エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | イベント ハブ エンドポイントの接続文字列。 | 糸 |
endpointUri | イベント ハブ エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | イベント ハブ名前空間のイベント ハブ名 | 糸 |
身分証明書 | イベント ハブ エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字です。 予約されている名前は、イベント、fileNotifications、$defaultです。 エンドポイント名は、エンドポイントの種類間で一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
resourceGroup | イベント ハブ エンドポイントのリソース グループの名前。 | 糸 |
subscriptionId | イベント ハブ エンドポイントのサブスクリプション識別子。 | 糸 |
RoutingProperties
名前 | 形容 | 価値 |
---|---|---|
エンドポイント | IoT ハブがルーティング規則に基づいてメッセージをルーティングするカスタム エンドポイントに関連するプロパティ。 有料ハブのすべての種類のすべてのエンドポイントで最大 10 個のカスタム エンドポイントが許可され、無料ハブのすべてのエンドポイントの種類で許可されるカスタム エンドポイントは 1 つだけです。 | RoutingEndpoints の |
エンリッチメント | 組み込みエンドポイントとカスタム エンドポイントに配信されるメッセージに IoT ハブが適用するユーザー指定のエンリッチメントの一覧。 参照: https://aka.ms/telemetryoneventgrid | EnrichmentProperties[] |
fallbackRoute | "routes" セクションで指定された条件が満たされていない場合にフォールバック ルートとして使用されるルートのプロパティ。 これは省略可能なパラメーターです。 このプロパティが設定されていない場合、'routes' セクションで指定された条件を満たしていないメッセージは、組み込みの eventhub エンドポイントにルーティングされます。 | FallbackRouteProperties の |
ルート | IoT ハブが組み込みエンドポイントとカスタム エンドポイントにメッセージをルーティングするために使用するユーザー指定のルーティング規則の一覧。 有料ハブには最大 100 個のルーティング規則が許可され、無料ハブでは最大 5 つのルーティング規則が許可されます。 | RouteProperties[] |
RoutingServiceBusQueueEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | Service Bus キュー エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | Service Bus キュー エンドポイントの接続文字列。 | 糸 |
endpointUri | Service Bus キュー エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | Service Bus 名前空間のキュー名 | 糸 |
身分証明書 | Service Bus キュー エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
maxChunkSizeInBytes | ストレージに書き込まれる各 BLOB の最大バイト数。 値は、10485760(10 MB) から 524288000(500 MB) の間である必要があります。 既定値は 314572800(300 MB) です。 | 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 (必須) |
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) Time Series Insights 環境をデプロイできます。 |
IoT Hub と Device to Cloud Consumer Group を作成する Azure にデプロイする |
このテンプレートを使用すると、デバイスを含む IoT Hub インスタンスをクラウドにデプロイし、クラウドからデバイス メッセージング構成に、デバイスをクラウド コンシューマー グループにデプロイできます。 |
IoT Hub と Ubuntu エッジ シミュレーター を作成する Azure にデプロイする |
このテンプレートでは、IOT ハブと仮想マシン Ubuntu エッジ シミュレーターが作成されます。 |
IoT Hub Device Provisioning Service を作成する Azure にデプロイする |
このテンプレートを使用すると、IoT ハブと IoT Hub Device Provisioning Service を作成し、2 つのサービスをリンクできます。 |
IoT Hub アカウント、インスタンス、IoT Hub の Device Update を作成する Azure にデプロイする |
このテンプレートは、アカウントと、インスタンスをリンクするインスタンスとハブを作成します。 必要なアクセス ポリシー、ルート、およびコンシューマー グループを使用してハブを構成します。 |
Azure IoT Hub を含む MedTech サービスをデプロイする Azure にデプロイする |
MedTech サービスは、複数のデバイスからデバイス データを取り込み、デバイス データを FHIR Observations に変換し、Azure Health Data Services FHIR サービスに保持するように設計された Azure Health Data Services の 1 つです。 |
ARM テンプレートを使用して IoT Hub を作成し、メッセージをルーティングして表示 Azure にデプロイする |
このテンプレートを使用して、IoT Hub とストレージ アカウントをデプロイします。 ストレージにルーティングされたハブにメッセージを送信するアプリを実行し、結果を表示します。 |
Terraform (AzAPI プロバイダー) リソース定義
IotHubs リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループの
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Devices/IotHubs リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Devices/IotHubs@2020-03-01"
name = "string"
etag = "string"
location = "string"
body = jsonencode({
properties = {
authorizationPolicies = [
{
keyName = "string"
primaryKey = "string"
rights = "string"
secondaryKey = "string"
}
]
cloudToDevice = {
defaultTtlAsIso8601 = "string"
feedback = {
lockDurationAsIso8601 = "string"
maxDeliveryCount = int
ttlAsIso8601 = "string"
}
maxDeliveryCount = int
}
comments = "string"
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"
privateEndpointConnections = [
{
properties = {
privateEndpoint = {
}
privateLinkServiceConnectionState = {
actionsRequired = "string"
description = "string"
status = "string"
}
}
}
]
publicNetworkAccess = "string"
routing = {
endpoints = {
eventHubs = [
{
authenticationType = "string"
connectionString = "string"
endpointUri = "string"
entityPath = "string"
id = "string"
name = "string"
resourceGroup = "string"
subscriptionId = "string"
}
]
serviceBusQueues = [
{
authenticationType = "string"
connectionString = "string"
endpointUri = "string"
entityPath = "string"
id = "string"
name = "string"
resourceGroup = "string"
subscriptionId = "string"
}
]
serviceBusTopics = [
{
authenticationType = "string"
connectionString = "string"
endpointUri = "string"
entityPath = "string"
id = "string"
name = "string"
resourceGroup = "string"
subscriptionId = "string"
}
]
storageContainers = [
{
authenticationType = "string"
batchFrequencyInSeconds = int
connectionString = "string"
containerName = "string"
encoding = "string"
endpointUri = "string"
fileNameFormat = "string"
id = "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"
sasTtlAsIso8601 = "string"
}
}
}
})
sku = {
capacity = int
name = "string"
}
tags = {
{customized property} = "string"
}
}
プロパティ値
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 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
FeedbackProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | フィードバック キューのロック期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがフィードバック キューにメッセージを配信しようとした回数。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages を参照してください。 | 糸 |
IotHubProperties
名前 | 形容 | 価値 |
---|---|---|
authorizationPolicies | IoT ハブへの接続をセキュリティで保護するために使用できる共有アクセス ポリシー。 | SharedAccessSignatureAuthorizationRule[] |
cloudToDevice | IoT Hub のクラウドからデバイスへのメッセージング プロパティ。 | CloudToDeviceProperties |
コメント | IoT Hub のコメント。 | 糸 |
enableFileUploadNotifications | True の場合、ファイルのアップロード通知が有効になります。 | bool |
eventHubEndpoints | Event Hub と互換性のあるエンドポイントのプロパティ。 このディクショナリに使用できる唯一のキーはイベントです。 このキーは、IoT ハブの作成または更新呼び出しを行う際にディクショナリに存在する必要があります。 | IotHubPropertiesEventHubEndpoints を |
顔立ち | IoT ハブで有効になっている機能。 | 'DeviceManagement' 'None' |
ipFilterRules | IP フィルター規則。 | IpFilterRule[] |
messagingEndpoints | ファイル アップロード通知キューのメッセージング エンドポイントプロパティ。 | IotHubPropertiesMessagingEndpoints |
minTlsVersion | このハブをサポートする TLS の最小バージョンを指定します。 1.2 より前の TLS バージョンを使用するクライアントを拒否するには、"1.2" に設定できます。 | 糸 |
privateEndpointConnections | この IotHub で作成されたプライベート エンドポイント接続 | PrivateEndpointConnection[] |
publicNetworkAccess | パブリック ネットワークからの要求が許可されるかどうか | 'Disabled' 'Enabled' |
ルーティング | IoT ハブのルーティング関連のプロパティ。 参照: /azure/iot-hub/iot-hub-devguide-messaging | RoutingProperties |
storageEndpoints | ファイルをアップロードできる Azure Storage エンドポイントの一覧。 現在、構成できる Azure Storage アカウントは 1 つだけであり、そのキーを$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
名前 | 形容 | 価値 |
---|---|---|
アクション | このルールによってキャプチャされた要求に対して必要なアクション。 | 'Accept' 'Reject' (必須) |
filterName | IP フィルター規則の名前。 | string (必須) |
ipMask | 規則の IP アドレス範囲を CIDR 表記で含む文字列。 | string (必須) |
MessagingEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
lockDurationAsIso8601 | ロック期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
maxDeliveryCount | IoT ハブがメッセージの配信を試みる回数。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | int 制約: 最小値 = 1 最大値 = 100 |
ttlAsIso8601 | メッセージが IoT ハブによって期限切れになるまでにメッセージを使用できる期間。 /azure/iot-hub/iot-hub-devguide-file-upload を参照してください。 | 糸 |
Microsoft.Devices/IotHubs
名前 | 形容 | 価値 |
---|---|---|
etag | Etag フィールドは 必要ありません。 応答本文で指定する場合は、通常の ETag 規則に従ってヘッダーとしても指定する必要があります。 | 糸 |
場所 | リソースの場所。 | string (必須) |
名前 | リソース名 | string (必須) |
プロパティ | IotHub プロパティ | IotHubProperties の |
sku | IotHub SKU 情報 | IotHubSkuInfo (必須) |
タグ | リソース タグ | タグ名と値のディクショナリ。 |
種類 | リソースの種類 | "Microsoft.Devices/IotHubs@2020-03-01" |
PrivateEndpoint
名前 | 形容 | 価値 |
---|
PrivateEndpointConnection
名前 | 形容 | 価値 |
---|---|---|
プロパティ | プライベート エンドポイント接続のプロパティ | PrivateEndpointConnectionProperties (必須) |
PrivateEndpointConnectionProperties
名前 | 形容 | 価値 |
---|---|---|
privateEndpoint | プライベート エンドポイント接続のプライベート エンドポイント プロパティ | PrivateEndpoint を |
privateLinkServiceConnectionState | プライベート エンドポイント接続の現在の状態 | PrivateLinkServiceConnectionState (必須) |
PrivateLinkServiceConnectionState
名前 | 形容 | 価値 |
---|---|---|
actionsRequired | プライベート エンドポイント接続に必要なアクション | 糸 |
形容 | プライベート エンドポイント接続の現在の状態の説明 | string (必須) |
地位 | プライベート エンドポイント接続の状態 | 'Approved' 'Disconnected' 'Pending' 'Rejected' (必須) |
ResourceTags
名前 | 形容 | 価値 |
---|
RouteProperties
名前 | 形容 | 価値 |
---|---|---|
条件 | ルーティング規則を適用するために評価される条件。 条件が指定されていない場合は、既定で true に評価されます。 文法については、/azure/iot-hub/iot-hub-devguide-query-language を参照してください。 | 糸 |
endpointNames | 条件を満たすメッセージがルーティングされるエンドポイントの一覧。 現在、許可されているエンドポイントは 1 つだけです。 | string[] (必須) |
isEnabled | ルートを有効にするかどうかを指定するために使用します。 | bool (必須) |
名前 | ルートの名前。 名前には、英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字で、一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
源 | ルーティング規則を適用するソース (DeviceMessages など)。 | 'DeviceJobLifecycleEvents' 'DeviceLifecycleEvents' 'DeviceMessages' 'Invalid' 'TwinChangeEvents' (必須) |
RoutingEndpoints
名前 | 形容 | 価値 |
---|---|---|
eventHubs | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングする Event Hubs エンドポイントの一覧。 この一覧には、組み込みの Event Hubs エンドポイントは含まれません。 | RoutingEventHubProperties[] |
serviceBusQueues | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus キュー エンドポイントの一覧。 | RoutingServiceBusQueueEndpointProperties[] |
serviceBusTopics | ルーティング規則に基づいて、IoT ハブがメッセージをルーティングする Service Bus トピック エンドポイントの一覧。 | RoutingServiceBusTopicEndpointProperties[] |
storageContainers | ルーティング規則に基づいて、IoT Hub がメッセージをルーティングするストレージ コンテナー エンドポイントの一覧。 | RoutingStorageContainerProperties[] |
RoutingEventHubProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | イベント ハブ エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | イベント ハブ エンドポイントの接続文字列。 | 糸 |
endpointUri | イベント ハブ エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | イベント ハブ名前空間のイベント ハブ名 | 糸 |
身分証明書 | イベント ハブ エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 64 文字です。 予約されている名前は、イベント、fileNotifications、$defaultです。 エンドポイント名は、エンドポイントの種類間で一意である必要があります。 | 糸 制約: パターン = ^[A-Za-z0-9-._]{1,64}$ (必須) |
resourceGroup | イベント ハブ エンドポイントのリソース グループの名前。 | 糸 |
subscriptionId | イベント ハブ エンドポイントのサブスクリプション識別子。 | 糸 |
RoutingProperties
名前 | 形容 | 価値 |
---|---|---|
エンドポイント | IoT ハブがルーティング規則に基づいてメッセージをルーティングするカスタム エンドポイントに関連するプロパティ。 有料ハブのすべての種類のすべてのエンドポイントで最大 10 個のカスタム エンドポイントが許可され、無料ハブのすべてのエンドポイントの種類で許可されるカスタム エンドポイントは 1 つだけです。 | RoutingEndpoints の |
エンリッチメント | 組み込みエンドポイントとカスタム エンドポイントに配信されるメッセージに IoT ハブが適用するユーザー指定のエンリッチメントの一覧。 参照: https://aka.ms/telemetryoneventgrid | EnrichmentProperties[] |
fallbackRoute | "routes" セクションで指定された条件が満たされていない場合にフォールバック ルートとして使用されるルートのプロパティ。 これは省略可能なパラメーターです。 このプロパティが設定されていない場合、'routes' セクションで指定された条件を満たしていないメッセージは、組み込みの eventhub エンドポイントにルーティングされます。 | FallbackRouteProperties の |
ルート | IoT ハブが組み込みエンドポイントとカスタム エンドポイントにメッセージをルーティングするために使用するユーザー指定のルーティング規則の一覧。 有料ハブには最大 100 個のルーティング規則が許可され、無料ハブでは最大 5 つのルーティング規則が許可されます。 | RouteProperties[] |
RoutingServiceBusQueueEndpointProperties
名前 | 形容 | 価値 |
---|---|---|
authenticationType | Service Bus キュー エンドポイントに対する認証に使用されるメソッド | 'identityBased' 'keyBased' |
connectionString | Service Bus キュー エンドポイントの接続文字列。 | 糸 |
endpointUri | Service Bus キュー エンドポイントの URL。 プロトコル sb:// を含める必要があります | 糸 |
entityPath | Service Bus 名前空間のキュー名 | 糸 |
身分証明書 | Service Bus キュー エンドポイントの ID | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
名前 | このエンドポイントを識別する名前。 名前には英数字、ピリオド、アンダースコア、ハイフンのみを含めることができます。最大長は 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 | 糸 |
maxChunkSizeInBytes | ストレージに書き込まれる各 BLOB の最大バイト数。 値は、10485760(10 MB) から 524288000(500 MB) の間である必要があります。 既定値は 314572800(300 MB) です。 | 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 (必須) |
sasTtlAsIso8601 | IoT Hub によって生成されたファイルアップロード用の SAS URI が有効な期間。 /azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options を参照してください。 | 糸 |