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.
Pré-requisitos
-
Você deve ter um hub integrado. Para obter instruções, consulte Configuração de integração do Hub.
-
No
iotmi_config.jsonarquivo localizado em/data/aws/iotmi/config/, verifique se isso éiot_provisioning_stateexibidoPROVISIONED. -
Confirme se os certificados e chaves permanentes referenciados no
iotmi_config.jsonexistem 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 \ --identifierHUB_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 \ --identifierHUB_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 ProvisioningStatusestiver
DELETE_IN_PROGRESS, siga as instruções em Recuperação do Hub. -
Caso contrário ProvisioningStatus
DELETE_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.jsonarquivo 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 foundmensagem, mas o arquivoiotmi_config.jsonfor 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.jsonestiver 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.jsonestá desligado e o status do hub é ouACTIVATED.DISCOVEREDPara se recuperar desse cenário, consulte Forçar exclusão. Se a exclusão forçada falhar ou ainda não
iotmi_config.jsonestiver 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_ide force:aws iot-managed-integrations delete-managed-thing \ --identifierHUB_MANAGED_THING_ID\ --forceEm seguida, chame a GetManagedThing API e verifique se ela retorna
Managed 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.