Purpose of deleting registration from the Azure DPS

Ondrej Tomcik 6 Reputation points
2022-04-20T11:28:37.12+00:00

Dear community

I would like to understand what is the use-case / purpose of "Delete Registration" in the Azure DPS.

Scenario:
My device was successfully registered with the provisioning service and connected to the Azure IoT Hub. Then in the Azure DPS management, I am able to delete the registration record. But after deletion, the device is able to connect to the Azure IoT Hub, or again register with the provisioning service. Therefore I don't see a point of this delete command.

I know how I can delete the device from the IoT Hub, as well as how to prevent the device from being provisioned. But I would like to understand, what's the point of deleting the registration record, which seems to be only meta information about status and time.

Thank you
Ondrej

Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,115 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Raul Alarcon 11 Reputation points Microsoft Employee
    2022-04-27T15:46:35.02+00:00

    Hi @Ondrej Tomcik

    Here are some thoughts, if you have a huge number of devices registered in DPS that can go thru life cycle where you remove part of that huge number of devices, but need to register others, then you would reach the limits of DPS. This would be something to consider if we are talking about multiple hundreds of thousands or even millions of devices.

    For example, imaging you are reaching the DPS limits during some performance tests which need to remove registration records to continue working (something that could happen if ypu are looking to deploy millions of devices in production and you are testing the provisioning process).

    Other example, imaging that in production, you are close to the limits for DPS during your regular usage, if for any reason they need to re-provision part of your device fleet, it would rise some issues (imagine a change in authentication, a change in the certificates...).

    For DPS limits check: https://learn.microsoft.com/en-us/azure/iot-dps/about-iot-dps#quotas-and-limits

    Of course, if you are managing a big number of devices you will need to use a scripting approach to manage the deletions.

    For disenroll devices check: https://learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal
    For deprovisioning devices check: https://learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices

    To point out that directly removing an enrollment does not remove the registration records, you need to take care of it as mentioned in the documentation. Removing an enrollment would lead to have the registration records in an "orphan" state (by now, I know there is some actions on-going this situation). There is explicit guidance to remove an enrollment to avoid this situation too.

    Hope this helps!

    1 person found this answer helpful.