Create your ux4iot Instance

ux4iot is installed in your Azure subscription as a Managed Application. Billing will be handled by Microsoft.

Prerequisits:

  • You need to have an azure subscription

  • You need to be owner of the resource group that you deploy your ux4iot into. This is because during the deployment, there is a role assigned between managed resources.

Creating via Azure Marketplace

Visit the offer on Azure Marketplace and click "Get It Now".

Creating via Azure Portal

Go to https://portal.azure.com and search for "ux4iot".

Creating via the command line

If you prefer the command line, the following snippet shows how to do it. See further below for how to retrieve the values for the two parameters.

RESOURCE_GROUP=ux4iot
SUBSCRIPTION=yourazuresubscription

az managedapp create \
  --name ux4iot \
  --location westeurope \
  --kind marketplace \
  --resource-group $RESOURCE_GROUP \
  --managed-rg-id /subscriptions/${SUBSCRIPTION}/resourceGroups/ux4iot-resources \
  --plan-product ux4iot \
  --plan-name standard \
  --plan-version 1.5.0 \
  --plan-publisher deviceinsightgmbh-4961725 \
  --parameters "{\"iotHubEventHubConnectionString\": {\"value\": \"${IOT_HUB_EVENT_HUB_CONNECTION_STRING}\"}, \"iotHubServiceConnectionString\": {\"value\": \"${IOT_HUB_CONNECTION_STRING}\"}}"

Concerning the parameters: Specifying the Event Hub compatible connection is required. Configuring the service connection string is optional. It is necessary for the following hooks:

In effect, everything that not only consumes information but accesses the devices in some way.

You can retrieve the service connection string for the IoT Hub with:

IOT_HUB_CONNECTION_STRING=$(az iot hub connection-string show \
  --resource-group RESOURCE_GROUP_OF_IOT_HUB \
  --subscription SUBSCRIPTION \
  --hub-name NAME_OF_IOT_HUB \
  --policy-name service
  --query connectionString \
  -o tsv)

You can retrieve the Event Hub compatible endpoint connection string with:

IOT_HUB_EVENT_HUB_CONNECTION_STRING=$(az iot hub connection-string show \
  --resource-group RESOURCE_GROUP_OF_IOT_HUB \
  --subscription SUBSCRIPTION \
  --hub-name NAME_OF_IOT_HUB \
  --query connectionString \
  --default-eventhub \
  --policy-name service \
  -o tsv)

Replace RESOURCE_GROUP_OF_IOT_HUB with the resource group that your IoT Hub resides in. ReplaceNAME_OF_IOT_HUB with the name of the IoT Hub. Replace SUBSCRIPTION with your Azure Subscription.

Creating via Bicep (Azure Resource Manager)

Here is an example Bicep template that you can use to deploy a ux4iot instance.

resource managedApp 'Microsoft.Solutions/applications@2019-07-01' = {
  name: 'ux4iot'
  kind: 'marketplace'
  location: resourceGroup().location
  plan: {
    name: 'standard'
    product: 'ux4iot'
    publisher: 'deviceinsightgmbh-4961725'
    version: '1.5.0'
  }
  properties: {
    managedResourceGroupId: 'ux4iot-resources'
    parameters: {
      // Required
      iotHubEventHubConnectionString: {
        value: iotHubEventHubConnectionString
      }
      // Optional
      iotHubServiceConnectionString: {
        value: iotHubServiceConnectionString
      }
      // Optional
      sku: {
        value: 'standard'
      }
      // Optional
      eventHubConsumerGroup: {
        value: '$Default'
      }
      // Optional
      customTimestampKey: {
        value: '_ts'
      }
      // Optional
      customDeviceIdKey: {
        value: 'deviceId'
      }      
      // Optional
      primaryAdminSecret: {
        value: 'supersecret'
      }
      // Optional
      secondaryAdminSecret: {
        value: 'supersecretaswell'
      }
      // Optional
      connectionStateCacheTTL: {
        value: 60
      }
    }
  }
}

Notice when you redeploy ux4iot with a different iotHubEventHubConnectionString, you will need to restart your ux4iot. You can do this by navigating in the azure portal to your ux4iot instance and clicking the restart button on the top icon bar.

Any tags you specify for the managed app will be inherited by the created managed resource group.

Before deploying for the first time, you will have to accept the legal terms:

az vm image accept-terms \
  --publisher 'deviceinsightgmbh-4961725' \
  --offer 'ux4iot' \
  --plan 'standard'

You can now deploy the Bicep template:

az deployment group create \
  --resource-group ux4iot \
  --subscription yourazuresubscription \
  --template-file template.bicep 

Last updated