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
Descripción general del proceso externo de Hub SDK
El proceso de desconexión del hub elimina un hub del sistema de Nube de AWS gestión. Cuando la nube envía una DeleteManagedThingsolicitud, el proceso cumple dos objetivos principales:
Acciones del lado del dispositivo:
Restablece el estado interno del hub
Elimine todos los datos guardados localmente
Prepare el dispositivo para una posible reincorporación futura
Acciones desde el lado de la nube:
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 flexibilidad de las cuentas.
Requisitos previos
-
Debe tener un hub integrado. Para obtener instrucciones, consulta la sección Configuración de la incorporación del Hub.
-
En el
iotmi_config.jsonarchivo ubicado en/data/aws/iotmi/config/, compruebe que seiot_provisioning_statemuestraPROVISIONED. -
Confirme que los certificados y claves permanentes a los que se hace referencia en el
iotmi_config.jsondocumento 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 DeleteManagedThingAPI para eliminar todos los dispositivos secundarios antes de continuar.
Proceso externo del SDK de Hub
Siga estos pasos para desconectar el hub:
Recupera el ID de hub_managed_thing
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
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 \ --identifierHUB_MANAGED_THING_ID
Verifica que el hub esté desconectado
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 \ --identifierHUB_MANAGED_THING_ID
Escenarios de éxito y fracaso
Escenario de éxito
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_statedebe 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
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 ProvisioningStatuses así
DELETE_IN_PROGRESS, sigue las instrucciones de recuperación del Hub. -
Si no ProvisioningStatuses 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. Sigue las instrucciones de Hub Recovery. -
Si la desconexión no se realizó correctamente, tu
iotmi_config.jsonarchivo tendrá el aspecto 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
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.
- Vuelve a incorporarte
-
Si la desconexión se ha realizado correctamente, incorpora tu SDK de Hub siguiendo el paso 3: crea una herramienta gestionada (aprovisionamiento de flota) y el resto del proceso de integración.
- Recuperación de Hub
-
- La desconexión de Device Hub fue un éxito y la desconexión de la nube fue un fracaso
-
Si la llamada a la GetManagedThingAPI no devuelve el
Managed Thing resource not foundmensaje, pero el archivoiotmi_config.jsonestá desconectado. Consulte el escenario de éxito para ver un ejemplo de archivo json.Para recuperarse de este escenario, consulte Forzar la eliminación.
- Se produce un error al desconectar Device Hub
-
Este escenario se produce cuando el archivo no
iotmi_config.jsonse desconecta correctamente. Consulte el escenario de error para ver un ejemplo de archivo json.Para recuperarse de este escenario, consulte Forzar la eliminación. Si aún no
iotmi_config.jsonestá 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.jsonsigue sin estar desconectado y el estado del hub es o.ACTIVATEDDISCOVEREDPara recuperarse de esta situación, consulte Forzar la eliminación. Si la eliminación forzada no se realiza correctamente o
iotmi_config.jsonsigue 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.
- Forzar la eliminación
-
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 API con los parámetros del hub
managed_thing_idy de fuerza:aws iot-managed-integrations delete-managed-thing \ --identifierHUB_MANAGED_THING_ID\ --forceA continuación, llama a la GetManagedThing API y comprueba que se devuelve
Managed Thing resource not found. Esto confirma que se han eliminado los recursos de la nube.nota
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.