In my previous blog, I have shown how to provision a device using a real TPM using the Device Provisioning Service (DPS).
Once you are able to provision your IoT devices to the Azure IoT Platform using a DPS, a whole new world of possibilities opens up for you.
Before, you registered your device to one IoTHub. To change it, you had to go to the device and fix it. But now you are able to make a choice between multiple IoT Hubs within the cloud, dynamically!
But what strategy are you going to use?
Microsoft provides three standard strategies out of the box:
- Lowest latency (select the nearest IoT Hub)
- Evenly weighted distribution (select the IoT Hub with the least amount of devices)
- Static configuration (just select one yourself. This is the situation as before)
But there is a new strategy which is very flexible:
This fourth strategy makes use of a custom Azure Function which you can write yourself.
You could, for instance, access a database and read some data before you make the decision to which IoTHub you assign this device.
Let’s see how we can build a custom function ourselves and get the most out of it.