Oefening: de inrichting van de groepsinschrijving ongedaan maken

Voltooid

In deze oefening verwijdert u de inrichting van de volledige inschrijvingsgroep, inclusief het ongedaan maken van de inschrijving bij Device Provisioning Service (DPS) en het de registratie van de apparaten van IoT Hub ongedaan maken.

Taak 1: De inschrijvingsgroep uit DPS verwijderen

In deze taak verwijdert u de registratiegroep van DPS, waardoor de ingeschreven apparaten worden uitgeschakeld. Als u de apparaten tijdelijk wilt uitschrijven, kunt u de inschrijvingsgroep uitschakelen. Verwijder de inschrijvingsgroep voor een permanente uitschrijving.

  1. Schakel in de Azure-sandbox uw inschrijvingsgroep uit of verwijder deze.

    Uitschakelen:

    az iot dps enrollment-group update --dps-name dps-$suffix --enrollment-id enrollgroup-sensors --provisioning-status disabled
    

    Verwijderen:

    az iot dps enrollment-group delete --dps-name dps-$suffix --enrollment-id enrollgroup-sensors
    

Als u het gesimuleerde apparaat sensor-thl-001 nu uitvoert, ziet u een foutbericht dat lijkt op wat u hebt gezien met de uitgeschakelde afzonderlijke inschrijving.

Notitie

Als u een inschrijvingsgroep voor een certificaat verwijdert, kunnen apparaten met het certificaat in de certificaatketen mogelijk nog steeds inschrijven als er nog steeds een andere, ingeschakelde inschrijvingsgroep bestaat voor het basiscertificaat of een ander tussencertificaat hoger in de certificaatketen.

Taak 2: De registratie van de apparaten van de IoT Hub ongedaan maken

Zodra de inschrijvingsgroep is verwijderd uit Device Provisioning Service (DPS), bestaat de apparaatregistratie nog steeds in Azure IoT Hub. Als u de inrichting van de apparaten volledig ongedaan wilt maken, moet u die registratie ook verwijderen.

  1. Verwijder in de Azure-sandbox het apparaat uit het IoT Hub-apparaatregister.

    az iot hub device-identity delete --hub-name hub-$suffix --device-id sensor-thl-001
    

Taak 3: Controleer of de inrichting van uw apparaten ongedaan is gemaakt

Wanneer de groepsinschrijving is verwijderd uit Device Provisioning Service en het apparaat uit het Azure IoT Hub-apparaatregister is verwijderd, worden de apparaten volledig uit de oplossing verwijderd.

  1. Schakel over naar het Visual Studio Code-venster met het codeproject sensor-thl-001-device.

  2. Voer de app voor het gesimuleerde apparaat uit en voer de volgende opdracht in:

    dotnet run
    
  3. Let op de uitzonderingen die worden vermeld wanneer het apparaat probeert in te richten.

    Nu de groepsinschrijving en het geregistreerde apparaat zijn verwijderd, kan het gesimuleerde apparaat niet meer worden ingericht of verbinding maken. Wanneer de toepassing het geconfigureerde X.509-certificaat probeert te gebruiken om verbinding te maken met DPS, wordt er een provisioningTransportException-foutbericht geretourneerd.

    Found certificate: AFF851ED016CA5AEB71E5749BCBE3415F8CF4F37 CN=sensor-thl-001; PrivateKey: True
    Using certificate AFF851ED016CA5AEB71E5749BCBE3415F8CF4F37 CN=sensor-thl-001
    RegistrationID = sensor-thl-001
    ProvisioningClient RegisterAsync . . . Unhandled exception. Microsoft.Azure.Devices.Provisioning.Client.ProvisioningTransportException: {"errorCode":401002,"trackingId":"df969401-c766-49a4-bab7-e769cd3cb585","message":"Unauthorized","timestampUtc":"2019-12-20T21:30:46.6730046Z"}
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.ValidateOutcome(Outcome outcome)
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.RegisterDeviceAsync(AmqpClientConnection client, String correlationId, DeviceRegistration deviceRegistration)
       at Microsoft.Azure.Devices.Provisioning.Client.Transport.ProvisioningTransportHandlerAmqp.RegisterAsync(ProvisioningTransportRegisterMessage message, CancellationToken cancellationToken)
    

U hebt de registratie, configuratie en ongedaan maken van de inrichting voltooid als onderdeel van de levenscyclus van IoT-apparaten met Device Provisioning Service.

Uw werk verifiëren

  1. Controleer of de inschrijvingsgroep is uitgeschakeld of verwijderd uit DPS.

    az iot dps enrollment-group show --dps-name dps-$suffix --enrollment-id enrollgroup-sensors
    

    Als de inschrijvingsgroep is uitgeschakeld, ziet u de opdrachtuitvoer die provisioningStatus is uitgeschakeld:

    "provisioningStatus": "disabled"
    

    Als de inschrijvingsgroep is verwijderd, ziet u een bericht dat er ongeveer als volgt uitziet.

    {'code': 404204, 'message': 'Not Found.', 'trackingId': '3a1badb5-c1db-4dff-a001-69a5e6e252f4'}
    
  2. Controleer of apparaatsensor-thl-001 is gederegistereerd (verwijderd) van de IoT-hub.

    az iot hub device-identity show --hub-name hub-$suffix --device-id sensor-thl-001
    

    Er wordt een DeviceNotFound foutbericht weergegeven dat er ongeveer als volgt uitziet:

     {'Message': 'ErrorCode:DeviceNotFound;sensor-thl-001', 'ExceptionMessage': 'Tracking ID:06e0221675514160850421f0b3b787a9-G:0-TimeStamp:10/24/2023 16:57:00'}