New features have just been made generally available in DPS. In this release the Azure IoT engineering team focused on a broader enhancement of the provisioning experience and reduction of limitations.
Support transferring additional data between device and DPS
This feature allows device and DPS to send additional data to each other. Sometimes DPS needs more data from devices to properly provision them to the right IoT Hub, and that data needs to be provided by the device. Vice versa, DPS can return data to the device to facilitate client-side logics.
You can use this feature as an enhancement for custom allocation. For instance, when you want to allocate your devices based on the device model without human intervention. Configure the device to report the model information as part of the register call. DPS will pass the device’s information to the custom allocation webhook, and your function can decide which IoT Hub this device will go to when it receives device model information. Similarly, if the webhook wishes to return some data to the device, it will pass the data back as a string in the webhook response.
This feature is also available in C, C#, JAVA and Node.js client SDKs.
Symmetric key support for IoT Edge
We now support symmetric key attestation for IoT Edge devices in both individual enrollment and group enrollment. With this change, if you check the “is IoT Edge device” option to be true in symmetric key attestation, all devices registered under that enrollment group will be marked as IoT Edge devices.
This new attestation mechanism for IoT Edge device is recommended for use in developer scenarios when you want to quickly get going before choosing a more secure element.
Relaxing registration ID restrictions
We’ve removed several restrictions on registration ID and supported capital letters, so Registration ID is now case insensitive. It can be alphanumeric, lowercase, uppercase, and may contain special characters including colon, period, underscore, and hyphen.