

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Centro de integraciones gestionadas externo
<a name="managedintegrations-hub-offboard"></a>

## Descripción general del proceso externo de Hub SDK
<a name="hub-offboarding-overview"></a>

El proceso de desconexión del hub elimina un hub del sistema de Nube de AWS gestión. Cuando la nube envía una [DeleteManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteManagedThing.html)solicitud, el proceso cumple dos objetivos principales:

**Device-side acciones**:
+ Restablece el estado interno del hub
+ Elimine todos los datos guardados localmente
+ Prepare el dispositivo para una posible reincorporación futura

**Cloud-side acciones:**
+ Elimine todos los recursos de la nube asociados al hub
+ Desconexión completa de la cuenta anterior

Los clientes suelen iniciar la desconexión del hub cuando:
+ Cambiar la cuenta asociada al hub
+ Sustituir un hub existente por un dispositivo nuevo

El proceso garantiza una transición limpia y segura entre las configuraciones de los concentradores, lo que permite una administración fluida de los dispositivos y una mayor flexibilidad de las cuentas.

![Diagrama de desconexión del hub](https://docs.aws.amazon.com/es_es/iot-mi/latest/devguide/images/iot-managedintegrations-hub-sdk-offboarding-architecture.png)


## Requisitos previos
<a name="hub-offboarding-prerequisites"></a>
+ Debe tener un hub integrado. Para obtener instrucciones, consulta la sección Configuración de la [incorporación del Hub](managedintegrations-sdk-v2-cookbook-hubsetup.md).
+ En el `iotmi_config.json` archivo ubicado en**//data/awsiotmi/config/**, compruebe que se `iot_provisioning_state` muestra`PROVISIONED`.
+ Confirme que los certificados y claves permanentes a los que se hace referencia en el `iotmi_config.json` documento existan en las rutas especificadas.
+ Asegúrese de que el agente HubOnboarding, el aprovisionador y el proxy MQTT estén configurados y ejecutándose correctamente.
+ Compruebe que el hub no tenga dispositivos secundarios. Utilice la [ DeleteManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteManagedThing.html)API para eliminar todos los dispositivos secundarios antes de continuar.

## Proceso externo del SDK de Hub
<a name="hub-offboarding-process"></a>

Siga estos pasos para desconectar el hub:

### Recupera el ID de hub\_managed\_thing
<a name="hub-offboarding-retrieve-hub"></a>

 El `iotmi_config.json` archivo se utiliza para almacenar el ID de elemento gestionado de un centro de integraciones gestionadas. Este identificador es un dato fundamental que permite al hub comunicarse con el servicio de integraciones AWS IoT gestionadas. El identificador del elemento gestionado se almacena en la sección **rw** (lectura-escritura) del archivo JSON, debajo del campo. `managed_thing_id` Esto se ve en el siguiente ejemplo de configuración: 

```
{
      "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
          }
      }
}
```

### Envía el comando a un hub externo
<a name="hub-offboarding-send-cmd"></a>

 Usa las credenciales de tu cuenta y ejecuta el comando con las `managed_thing_id` recuperadas en la sección anterior: 

```
aws iot-managed-integrations delete-managed-thing \
    --identifier {{HUB_MANAGED_THING_ID}}
```

### Verifica que el hub esté desconectado
<a name="hub-offboarding-process-cmd"></a>

 Usa las credenciales de tu cuenta y ejecuta el comando con las `managed_thing_id` recuperadas en la sección anterior: 

```
aws iot-managed-integrations get-managed-thing \
    --identifier {{HUB_MANAGED_THING_ID}}
```

### Escenarios de éxito y fracaso
<a name="hub-offboarding-scenarios"></a>

#### Escenario de éxito
<a name="hub-offboarding-success-scenarios"></a>

 Si el comando para desconectar el hub se ejecutó correctamente, se espera el siguiente ejemplo de respuesta: 

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

 Además, se `iotmi_config.json` observaría el siguiente ejemplo si el comando de desconexión del hub se ejecutó correctamente. **Compruebe que la sección **rw** contenga solo `iot_provisioning_state` y de forma opcional metadatos.** La ausencia de **metadatos** es aceptable. `iot_provisioning_state`debe 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
          }
      }
}
```

#### Escenario de error
<a name="hub-offboarding-failure-scenarios"></a>

 Si el comando para desconectar el hub no se ejecutó correctamente, se espera el siguiente ejemplo de respuesta: 

```
{
      "Arn" : "{{ARN}}",
      "CreatedAt" : 1.748968266655E9,
      "Id" : "{{ID}}",
      "ProvisioningStatus" : "DELETE_IN_PROGRESS",
      "Role" : "CONTROLLER",
      "SerialNumber" : "{{SERIAL_NO}}",
      "Tags" : { },
      "UniversalProductCode" : "{{UPC}}",
      "UpdatedAt" : 1.748968272107E9
}
```
+  Si **ProvisioningStatus**es así`DELETE_IN_PROGRESS`, sigue las instrucciones de [recuperación del Hub](#hub-recovery). 
+  Si no **ProvisioningStatus**es así`DELETE_IN_PROGRESS`, el comando para desconectar el hub falló en la nube de integraciones gestionadas o no lo recibió la nube de integraciones gestionadas. [Siga las instrucciones de recuperación de Hub.](#hub-recovery) 
+  Si la desconexión no se realizó correctamente, tu `iotmi_config.json` archivo tendrá el aspecto del archivo de ejemplo que se muestra a continuación. 

```
{
      "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) Tras desconectar Hub SDK
<a name="hub-offboarding-post-actions"></a>

**importante**  
 En los siguientes escenarios, se enumeran las acciones opcionales que se deben realizar si se produce un error al desconectar el Hub SDK o si quieres volver a incorporar tu hub después de la desconexión. 

**Re-onboard**  <a name="re-onboard"></a>
Si la desconexión se ha realizado correctamente, incorpora tu SDK de Hub siguiendo el [paso 3: crea un elemento gestionado (aprovisionamiento de flota)](managedintegrations-sdk-v2-cookbook-hubsetup.md#managedintegrations-sdk-v2-cookbook-managedthing) y el resto del proceso de integración. 

**Recuperación de Hub**  <a name="hub-recovery"></a>  
**La desconexión de Device Hub fue un éxito y la desconexión de la nube fue un fracaso**  
 Si la llamada a la [ GetManagedThing](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing)API no devuelve el `Managed Thing resource not found` mensaje, pero el archivo `iotmi_config.json` está desconectado. Consulte [el escenario de éxito](#hub-offboarding-success-scenarios) para ver un ejemplo de archivo json.   
Para recuperarse de este escenario, consulte [Forzar la eliminación](#forced-deletion).  
**Se produce un error al desconectar Device Hub**  
 Este escenario se produce cuando el archivo no `iotmi_config.json` se desconecta correctamente. Consulte el [escenario de error](#hub-offboarding-failure-scenarios) para ver un ejemplo de archivo json.   
Para recuperarse de este escenario, consulte [Forzar la eliminación](#forced-deletion). Si aún no `iotmi_config.json` está desconectado, es necesario restablecer los valores de fábrica del hub.  
**Se produce un error al desconectar el hub de dispositivos y la desconexión de la nube**  
 En este escenario, `iotmi_config.json` sigue sin estar desconectado y el estado del hub es o. `ACTIVATED` `DISCOVERED`   
 Para recuperarse de esta situación, consulte [Forzar](#forced-deletion) la eliminación. Si la eliminación forzada no se realiza correctamente o `iotmi_config.json` sigue sin estar desactivada, es necesario restablecer los valores de fábrica del hub.   
**El hub está desconectado y su estado es DELETE\_IN\_PROGRESS**  
 En este escenario, el hub está desconectado y la nube recibe un comando de desconexión.   
 Para recuperarse de esta situación, consulte [Forzar la eliminación](#forced-deletion). 

**Forzar la eliminación**  <a name="forced-deletion"></a>
Para eliminar los recursos de la nube sin una desconexión correcta de Device Hub, sigue estos pasos. Esta operación puede provocar incoherencias entre los estados de la nube y del dispositivo, lo que podría provocar problemas en las operaciones futuras.  
Llama a la [ DeleteManagedThing ](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_DeleteManagedThing)API con los parámetros del hub `managed_thing_id` y de **fuerza**:   

```
aws iot-managed-integrations delete-managed-thing \
  --identifier {{HUB_MANAGED_THING_ID}} \
  --force
```
 A continuación, llama a la [ GetManagedThing ](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetManagedThing)API y comprueba que se devuelve`Managed Thing resource not found`. Esto confirma que se han eliminado los recursos de la nube.   
 No se recomienda este enfoque, ya que puede provocar inconsistencias entre los estados de la nube y del dispositivo. Por lo general, es mejor asegurarse de que el hub de dispositivos se haya desconectado correctamente antes de intentar eliminar los recursos de la nube. 