Exercício – desprovisionar o registro de grupo

Concluído

Neste exercício, você desprovisionará o grupo de registro completo, incluindo o cancelamento do registro do Serviço de Provisionamento de Dispositivos (DPS) e do registro dos dispositivos do Hub IoT.

Tarefa 1: Cancelar o registro do grupo de registro do DPS

Nesta tarefa, você cancelará o registro do grupo de registro do DPS, o que desabilita os dispositivos registrados. Se você quiser cancelar temporariamente o registro dos dispositivos, poderá desabilitar o grupo de registro. Para um registro permanente, exclua o grupo de registro.

  1. Na área restrita do Azure, desabilite ou exclua o seu grupo de registro.

    Desabilite:

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

    Excluir:

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

Se você executar o dispositivo simulado sensor-thl-001 agora, verá uma mensagem de erro semelhante à que você viu com o registro individual desabilitado.

Observação

Se você excluir um grupo de registro de um certificado, os dispositivos que têm o certificado em sua cadeia de certificados ainda poderão se registrar se um grupo de registro habilitado diferente ainda existir para o certificado raiz ou outro certificado intermediário mais alto em sua cadeia de certificados.

Tarefa 2: Cancelar o registro dos dispositivos do Hub IoT

Depois que o grupo de registro for removido do Serviço de Provisionamento de Dispositivos (DPS), o registro do dispositivo ainda existirá no Hub IoT do Azure. Para desprovisionar totalmente os dispositivos, você também precisa remover esse registro.

  1. Na área restrita do Azure, exclua o dispositivo do registro de dispositivo do hub IoT.

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

Tarefa 3: Confirme se os seus dispositivos estão desprovisionados

Com o registro de grupo excluído do Serviço de Provisionamento de Dispositivos e o dispositivo excluído do registro de dispositivos do Hub IoT do Azure, os dispositivos são totalmente removidos da solução.

  1. Alterne para a janela do Visual Studio Code que contém o projeto de código do sensor-thl-001-device.

  2. Execute o aplicativo de dispositivo simulado, insira o seguinte comando:

    dotnet run
    
  3. Observe as exceções listadas quando o dispositivo tenta provisionar.

    Agora que o registro de grupo e o dispositivo registrado foram excluídos, o dispositivo simulado já não é capaz de provisionar ou se conectar. Quando o aplicativo tenta usar o certificado X.509 configurado para se conectar ao DPS, ele retorna uma mensagem de erro ProvisioningTransportException.

    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)
    

Você concluiu o registro, a configuração e o desprovisionamento como parte do ciclo de vida dos dispositivos IoT com o Serviço de Provisionamento de Dispositivos.

Verificar seu trabalho

  1. Verifique se o grupo de registro foi desabilitado ou excluído do DPS.

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

    Se o grupo de registro estiver desabilitado, você deverá ver na saída do comando que provisioningStatus está desabilitado:

    "provisioningStatus": "disabled"
    

    Se o grupo de registro for excluído, você deverá ver uma mensagem semelhante à seguinte.

    {'code': 404204, 'message': 'Not Found.', 'trackingId': '3a1badb5-c1db-4dff-a001-69a5e6e252f4'}
    
  2. Verifique se o sensor-thl-001 do dispositivo teve o seu registro cancelado (excluído) do hub IoT.

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

    Você deverá ver uma mensagem de erro DeviceNotFound semelhante à seguinte:

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