In this article we will learn how to create azure IoT hub with file upload support. The azure IoT hub supports the file upload feature to maintain the files related to the IoT devices which can be used to store the package files to upgrade the device or any files which are required for certain requirement related to the IoT devices.
Template.json
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "keyVaultUri": { "type": "string" }, "appInsightsKey": { "type": "string" }, "serviceName": { "type": "string", "defaultValue": "SmartDevicesIoTHub" }, "region": { "type": "string", "defaultValue": "West Europe" }, "location": { "type": "string", "defaultValue": "eastus" }, "containerName": { "type": "string", "defaultValue": "AzureblobStorageContainerName" }, "iotHubAccessPolicies": { "type": "object" } }, "resourceGroup": "[('YourAzureResourceGroupName')]", "AzureStorageAccountName": "[concat('YourStorageAccountName',toLower(parameters('location')))]", "storageAccountApiVersion": "2018-07-01", "iotHubName": "[(parameters('serviceName'))]", "iothubApiVersion": "2018-04-01", "eventHubDefaultRetentionInDays": 7 }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[variables('AzureStorageAccountName')]", "location": "[parameters('region')]", "apiVersion": "[variables('storageAccountApiVersion')]", "sku": { "name": "Standard_LRS", "tier": "Standard" }, "kind": "StorageV2", "properties": { "accessTier": "Hot" }, "resources": [ { "name": "[concat('default/', parameters('containerName'))]", "type": "blobServices/containers", "apiVersion": "2018-07-01", "dependsOn": [ "[variables('AzureStorageAccountName')]" ] } ] }, { "name": "[variables('iotHubName')]", "type": "Microsoft.Devices/IotHubs", "apiVersion": "[variables('iothubApiVersion')]", "location": "[parameters('region')]", "tags": "[variables('tags')]", "sku": { "name": "S1", "tier": "Standard", "capacity": 1 }, "dependsOn": [ "[variables('AzureStorageAccountName')]" ], "properties": { "enableFileUploadNotifications": true, "authorizationPolicies": [ { "keyName": "[parameters('iotHubAccessPolicies').iotHubOwner.name]", "rights": "[parameters('iotHubAccessPolicies').iotHubOwner.rights]", "primaryKey": "[parameters('iotHubAccessPolicies').iotHubOwner.primaryKey]", "secondaryKey": "[parameters('iotHubAccessPolicies').iotHubOwner.secondaryKey]" } ], "eventHubEndpoints": { "events": { "retentionTimeInDays": "[variables('eventHubDefaultRetentionInDays')]", "partitionCount": 4, "path": "[variables('iotHubName')]" }, "operationsMonitoringEvents": { "retentionTimeInDays": "[variables('eventHubDefaultRetentionInDays')]", "partitionCount": 4 } }, "storageEndpoints": { "$default": { "containerName": "[parameters('containerName')]", "connectionString": "[Concat('DefaultEndpointsProtocol=https;AccountName=',variables('AzureStorageAccountName'),';AccountKey=',listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('AzureStorageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value)]", "sasTtlAsIso8601": "PT1H" } }, "messagingEndpoints": { "fileNotifications": { "lockDurationAsIso8601": "PT1M", "ttlAsIso8601": "P1D", "maxDeliveryCount": 10 } } } } ] }
Note
- Resource group Name
- Azure IoT Hub Name
- Azure Storage Container Name
- Azure Storage Account Name
Post a Comment