Hub externo de integrações gerenciadas - Integrações gerenciadas para AWS IoT Device Management

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Hub externo de integrações gerenciadas

Visão geral do processo externo do Hub SDK

O processo de desativação do hub remove um hub do sistema de Nuvem AWS gerenciamento. Quando a nuvem envia uma DeleteManagedThingsolicitação, o processo atinge dois objetivos principais:

Ações do lado do dispositivo:

  • Redefinir o estado interno do hub

  • Exclua todos os dados salvos localmente

  • Prepare o dispositivo para uma possível reintegração futura

Ações do lado da nuvem:

  • Remova todos os recursos de nuvem associados ao hub

  • Desconexão completa da conta anterior

Normalmente, os clientes iniciam a desativação do hub quando:

  • Alterando a conta associada ao hub

  • Substituindo um hub existente por um novo dispositivo

O processo garante uma transição limpa e segura entre as configurações do hub, permitindo o gerenciamento contínuo de dispositivos e a flexibilidade da conta.

Diagrama de desembarque do hub

Pré-requisitos

  • Você deve ter um hub integrado. Para obter instruções, consulte Configuração de integração do Hub.

  • No iotmi_config.json arquivo localizado em/data/aws/iotmi/config/, verifique se isso é iot_provisioning_state exibidoPROVISIONED.

  • Confirme se os certificados e chaves permanentes referenciados no iotmi_config.json existem em seus caminhos especificados.

  • Certifique-se de que o Agente HubOnboarding, o Provisionador e o proxy MQTT estejam configurados e em execução corretamente.

  • Verifique se o hub não tem dispositivos secundários. Use a DeleteManagedThingAPI para remover todos os dispositivos secundários antes de continuar.

Processo externo do Hub SDK

Siga estas etapas para desconectar o hub:

Recupere o ID do hub_managed_thing

O iotmi_config.json arquivo é usado para armazenar o ID do item gerenciado para um hub de integrações gerenciadas. Esse identificador é uma informação essencial que permite que o hub se comunique com o serviço de integrações AWS IoT gerenciadas. O ID do item gerenciado é armazenado na seção rw (leitura-gravação) do arquivo JSON, abaixo do campo. managed_thing_id Isso é visto no exemplo de configuração a seguir:

{ "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "PATH", "iot_claim_pk_path": "PATH", "UPC": "UPC", "sh_endpoint_url": "ENDPOINT_URL", "SN": "SN", "fp_template_name": "TEMPLATENAME" }, "rw": { "iot_provisioning_state": "PROVISIONED", "client_id": "ID", "managed_thing_id": "ID", "iot_permanent_cert_path": "CERT_PATH", "iot_permanent_pk_path": "KEY", "metadata": { "last_updated_epoch_time": 1747766125 } } }

Enviar comando para o hub externo

Use as credenciais da sua conta e execute o comando com o managed_thing_id recuperado na seção anterior:

aws iot-managed-integrations delete-managed-thing \ --identifier HUB_MANAGED_THING_ID

Verifique se o hub foi desligado

Use as credenciais da sua conta e execute o comando com o managed_thing_id recuperado na seção anterior:

aws iot-managed-integrations get-managed-thing \ --identifier HUB_MANAGED_THING_ID

Cenários de sucesso e fracasso

Cenário de sucesso

Se o comando para desligar o hub for bem-sucedido, o seguinte exemplo de resposta é esperado:

{ "Message" : "Managed Thing resource not found." }

Além disso, o exemplo a seguir iotmi_config.json seria observado se o comando de desligamento do hub fosse bem-sucedido. Verifique se a seção rw contém somente iot_provisioning_state e opcionalmente metadados. A ausência de metadados é aceitável. iot_provisioning_statedeve ser NOT_PROVISIONED.

{ "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "PATH", "iot_claim_pk_path": "PATH", "UPC": "1234567890101", "sh_endpoint_url": "ENDPOINT_URL", "SN": "1234567890101", "fp_template_name": "test-template" }, "rw": { "iot_provisioning_state": "NOT_PROVISIONED", "metadata": { "last_updated_epoch_time": 1747766125 } } }

Cenário de falha

Se o comando para desligar o hub não tiver sido bem-sucedido, o seguinte exemplo de resposta é esperado:

{ "Arn" : "ARN", "CreatedAt" : 1.748968266655E9, "Id" : "ID", "ProvisioningStatus" : "DELETE_IN_PROGRESS", "Role" : "CONTROLLER", "SerialNumber" : "SERIAL_NO", "Tags" : { }, "UniversalProductCode" : "UPC", "UpdatedAt" : 1.748968272107E9 }
  • Se ProvisioningStatusestiverDELETE_IN_PROGRESS, siga as instruções em Recuperação do Hub.

  • Caso contrário ProvisioningStatusDELETE_IN_PROGRESS, o comando para desconectar o hub falhou na nuvem de integrações gerenciadas ou não foi recebido pela nuvem de integrações gerenciadas. Siga as instruções na recuperação do Hub.

  • Se a desativação não for bem-sucedida, seu iotmi_config.json arquivo terá a aparência do arquivo de amostra abaixo.

{ "ro": { "iot_provisioning_method": "FLEET_PROVISIONING", "iot_claim_cert_path": "PATH", "iot_claim_pk_path": "PATH", "UPC": "123456789101", "sh_endpoint_url": "ENDPOINT_URL", "SN": "123456789101", "fp_template_name": "test-template" }, "rw": { "iot_provisioning_state": "PROVISIONED", "client_id": "ID", "managed_thing_id": "ID", "iot_permanent_cert_path": "PATH", "iot_permanent_pk_path": "PATH", "metadata": { "last_updated_epoch_time": 1747766125 } } }

(Opcional) Depois de desativar o Hub SDK

Importante

Os cenários a seguir listam as ações opcionais a serem tomadas após a falha do SDK do Hub ou se você quiser reintegrar seu hub após a desativação.

Volte a bordo

Se a desativação foi bem-sucedida, integre seu SDK do Hub seguindo a Etapa 3: Crie uma coisa gerenciada (provisionamento de frota) e o resto do processo de integração.

Recuperação de hub
Sucesso na desativação do hub de dispositivos e falha na desativação da nuvem

Se a chamada GetManagedThingda API não retornar a Managed Thing resource not found mensagem, mas o arquivo iotmi_config.json for removido. Consulte Cenário de sucesso para ver um exemplo de arquivo json.

Para se recuperar desse cenário, consulte Forçar exclusão.

Falha na desativação do hub de dispositivos

Esse cenário ocorre quando o arquivo não iotmi_config.json é removido corretamente. Consulte Cenário de falha para ver um exemplo de arquivo json.

Para se recuperar desse cenário, consulte Forçar exclusão. Se ainda não iotmi_config.json estiver desligado, o hub deve ser redefinido para as configurações de fábrica.

A desativação do hub de dispositivos e a desativação da nuvem falham

Nesse cenário, ainda não iotmi_config.json está desligado e o status do hub é ouACTIVATED. DISCOVERED

Para se recuperar desse cenário, consulte Forçar exclusão. Se a exclusão forçada falhar ou ainda não iotmi_config.json estiver desligada, o hub deverá ser redefinido para as configurações de fábrica.

O hub está offline e o status do hub é DELETE_IN_PROGRESS

Nesse cenário, o hub fica off-line e a nuvem recebe um comando de desligamento.

Para se recuperar desse cenário, consulte Forçar exclusão.

Forçar exclusão

Para excluir recursos da nuvem sem uma desativação bem-sucedida do hub de dispositivos, siga estas etapas. Essa operação pode resultar em inconsistência entre os estados da nuvem e do dispositivo, potencialmente causando problemas com operações futuras.

Chame a DeleteManagedThing API com o parâmetro hub managed_thing_id e force:

aws iot-managed-integrations delete-managed-thing \ --identifier HUB_MANAGED_THING_ID \ --force

Em seguida, chame a GetManagedThing API e verifique se ela retornaManaged Thing resource not found. Isso confirma que os recursos da nuvem foram excluídos.

nota

Essa abordagem não é recomendada, pois pode levar a inconsistências entre os estados da nuvem e do dispositivo. Geralmente, é melhor garantir uma desativação bem-sucedida do hub de dispositivos antes de tentar excluir os recursos da nuvem.