Centro de integraciones gestionadas externo - Integraciones gestionadas para AWS IoT Device Management

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.

Diagrama de desconexión del hub

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.json archivo ubicado en/data/aws/iotmi/config/, compruebe que se iot_provisioning_state muestraPROVISIONED.

  • 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 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 \ --identifier HUB_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 \ --identifier HUB_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.json archivo 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 found mensaje, pero el archivo iotmi_config.json está 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.json se 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.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 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.

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_id y de fuerza:

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

A continuación, llama a la GetManagedThing API y comprueba que se devuelveManaged 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.