Exercício - Desprovisionar a inscrição no grupo

Concluído

Neste exercício, você desprovisiona o grupo de inscrição completo, incluindo o cancelamento do registro do Serviço de Provisionamento de Dispositivo (DPS) e o cancelamento do registro dos dispositivos do Hub IoT.

Tarefa 1: Cancelar o registro do grupo de inscrição do DPS

Nesta tarefa, você cancela o registro do grupo de inscrição do DPS, o que desabilita os dispositivos registrados. Se quiser cancelar temporariamente o registro dos dispositivos, você pode desativar o grupo de registro. Para um cancelamento permanente, exclua o grupo de inscrição.

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

    Desativar:

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

    Eliminar:

    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 viu com o registro individual desativado.

Nota

Se você excluir um grupo de registro para um certificado, os dispositivos que têm o certificado em sua cadeia de certificados ainda poderão se inscrever se um grupo de registro diferente e habilitado ainda existir para o certificado raiz ou outro certificado intermediário mais acima 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 Dispositivo (DPS), o registro do dispositivo ainda existirá no Hub IoT do Azure. Para desprovisionar totalmente os dispositivos, você precisa remover esse registro também.

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

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

Tarefa 3: Confirmar se os dispositivos foram desprovisionados

Com o registro de grupo excluído do Serviço de Provisionamento de Dispositivo e o dispositivo excluído do registro de dispositivo do Hub IoT do Azure, o(s) dispositivo(s) será(ão) totalmente removido(s) da solução.

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

  2. Execute o aplicativo de dispositivo simulado, digite 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 não poderá mais 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.

Verifique o seu trabalho

  1. Verifique se o grupo de inscrição foi desativado ou excluído do DPS.

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

    Se o grupo de inscrição estiver desativado, você verá a saída do comando que o provisioningStatus está desabilitado:

    "provisioningStatus": "disabled"
    

    Se o grupo de inscrição for excluído, você verá uma mensagem semelhante à seguinte.

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

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

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

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