

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
<a name="managedintegrations-hub-offboard"></a>

## Visão geral do processo externo do Hub SDK
<a name="hub-offboarding-overview"></a>

O processo de desativação do hub remove um hub do sistema de Nuvem AWS gerenciamento. Quando a nuvem envia uma [DeleteManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteManagedThing.html)solicitação, o processo atinge dois objetivos principais:

**Device-side ações**:
+ Redefinir o estado interno do hub
+ Exclua todos os dados salvos localmente
+ Prepare o dispositivo para uma possível reintegração futura

**Cloud-side ações**:
+ 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](https://docs.aws.amazon.com/pt_br/iot-mi/latest/devguide/images/iot-managedintegrations-hub-sdk-offboarding-architecture.png)


## Pré-requisitos
<a name="hub-offboarding-prerequisites"></a>
+ Você deve ter um hub integrado. Para obter instruções, consulte [Configuração de integração do Hub](managedintegrations-sdk-v2-cookbook-hubsetup.md).
+ No `iotmi_config.json` arquivo localizado em**//data/awsiotmi/config/**, verifique se isso é `iot_provisioning_state` exibido`PROVISIONED`.
+ 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 [ DeleteManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteManagedThing.html)API para remover todos os dispositivos secundários antes de continuar.

## Processo externo do Hub SDK
<a name="hub-offboarding-process"></a>

Siga estas etapas para desconectar o hub:

### Recupere o ID do hub\_managed\_thing
<a name="hub-offboarding-retrieve-hub"></a>

 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
<a name="hub-offboarding-send-cmd"></a>

 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
<a name="hub-offboarding-process-cmd"></a>

 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
<a name="hub-offboarding-scenarios"></a>

#### Cenário de sucesso
<a name="hub-offboarding-success-scenarios"></a>

 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_state`deve 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
<a name="hub-offboarding-failure-scenarios"></a>

 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 **ProvisioningStatus**estiver`DELETE_IN_PROGRESS`, siga as instruções em [Recuperação do Hub](#hub-recovery). 
+  Caso contrário **ProvisioningStatus**`DELETE_IN_PROGRESS`, o comando para desligar 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](#hub-recovery). 
+  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
<a name="hub-offboarding-post-actions"></a>

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

**Re-onboard**  <a name="re-onboard"></a>
Se a desativação foi bem-sucedida, integre seu SDK do Hub seguindo a [Etapa 3: Crie uma coisa gerenciada (provisionamento de frota)](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-managedthing) e o resto do processo de integração. 

**Recuperação de hub**  <a name="hub-recovery"></a>  
**Sucesso na desativação do hub de dispositivos e falha na desativação da nuvem**  
 Se a chamada [ GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing)da API não retornar a `Managed Thing resource not found` mensagem, mas o arquivo `iotmi_config.json` for removido. Consulte [Cenário de sucesso](#hub-offboarding-success-scenarios) para ver um exemplo de arquivo json.   
Para se recuperar desse cenário, consulte [Forçar exclusão.](#forced-deletion)  
**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](#hub-offboarding-failure-scenarios) para ver um exemplo de arquivo json.   
Para se recuperar desse cenário, consulte [Forçar exclusão.](#forced-deletion) 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 é ou`ACTIVATED`. `DISCOVERED`   
 Para se recuperar desse cenário, consulte [Forçar exclusão.](#forced-deletion) 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á off-line 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.](#forced-deletion) 

**Forçar exclusão**  <a name="forced-deletion"></a>
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 ](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_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 ](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing)API e verifique se ela retorna`Managed Thing resource not found`. Isso confirma que os recursos da nuvem foram excluídos.   
 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. 