Solución de problemas
Utilice la información de resolución de problemas para identificar y solucionar problemas comunes que se pueden producir al trabajar con su plataforma de Internet of Things (IoT).
Asegúrese de que tiene los permisos necesarios. Un administrador otorga acceso mediante la creación de las políticas necesarias. Para obtener más información, consulte Requisitos y Detalles de política para la plataforma Internet of Things (IoT).
Actualiza tus contraseñas
Puede que tenga que restablecer la contraseña de la base de datos al conectarse a la base de datos con APEX o al conectarse directamente a la base de datos con el grupo de dominios de identidad.
Causa: si utiliza APEX y necesita restablecer la contraseña
Si configura el acceso para ver los datos de IoT en APEX, se crean dos usuarios diferentes, un usuario de base de datos y un usuario administrador del espacio de trabajo de APEX. Se trata de dos usuarios diferentes con el mismo nombre de usuario y la misma contraseña inicial. Puede actualizar las contraseñas de cada usuario.
Solución: actualice la contraseña de la base de datos APEX
Solo un administrador del espacio de trabajo de APEX puede cambiar la contraseña del usuario de la base de datos. Inicialmente, el administrador del espacio de trabajo de APEX utiliza la contraseña de la base de datos de APEX para conectarse y, a continuación, sigue estos pasos para cambiar la contraseña de la base de datos.
En APEX, conéctese al espacio de trabajo del dominio IoT como administrador, utilizando lo siguiente como nombre de espacio de trabajo y nombre de usuario de base de datos, con la contraseña de base de datos de APEX actual.Nota
Observe los dos guiones bajos__WKSP.<domain-short-id-from-device-host>__WKSP- Vaya a SQL Workshop y seleccione SQL Commands.
- Confirme que el esquema
<iot-domain-short-id-from-device-host>__WKSPestá seleccionado en el menú desplegable del esquema superior derecho. Observe que el esquema contiene dos caracteres de subrayado. - Utilice esta sentencia
ALTER USERde SQL y la cláusulaREPLACEnecesaria para cambiar la contraseña del usuario de la base de datos:ALTER USER <workspace-administrator-user-name> IDENTIFIED BY "<new-password>" REPLACE "<old-password>"; - Seleccione Run (Ejecutar).
- Ejemplo de resultados que muestran la actualización de la contraseña:
User altered. 0.24 seconds
Solución: actualice la contraseña de APEX
- Como administrador del espacio de trabajo de APEX, puede cambiar la contraseña del administrador del espacio de trabajo. Después de conectarse a APEX como administrador, seleccione la opción Definir contraseña de cuenta de APEX. Para obtener más información, consulte Restablecimiento de la contraseña en APEX.
- Como usuario de APEX, cuando se conecte a la aplicación APEX por primera vez, se le pedirá que cambie la contraseña de APEX. Después de la conexión inicial, puede restablecer la contraseña en la página de conexión de APEX.
Según el sistema que utilice, puede que se necesiten comillas dobles cuando la contraseña contenga caracteres especiales.
Solución: restablezca la contraseña del espacio de trabajo de APEX mediante la API
POST /20250531/iotDomains/{iotDomainId}/actions/configureDataAccess
{
"type": "APEX",
"dbWorkspaceAdminInitialPassword": "<your-apex-initial-password>"
}Causa: Falta la autorización al conectarse directamente a la base de datos
Si establece una conexión directa a la base de datos mediante el siguiente comando de la CLI y no tiene autorización para conectarse directamente a la base de datos, puede crear una nueva contraseña de base de datos para que se conecte el grupo de dominios de identidad.
Por ejemplo, cuando se utiliza el comando oci iot domain configure-direct-data-access y los parámetros necesarios para configurar la autenticación de un dominio IoT para establecer una conexión directa a la base de datos y no se puede conectar.
oci iot domain configure-direct-data-access --iot-domain-id <iot-domain-OCID> --db-allow-listed-identity-group-names '["<tenancy-OCID:<identity-domain-name>/<identity-group-name>"]'o si utiliza este formato:
oci iot domain configure-direct-data-access --iot-domain-id <iot-domain-OCID> --db-allow-listed-identity-group-names '["<tenancy-OCID:<identity-group-name>"]'Solución: actualice la contraseña de la base de datos para el usuario del dominio de identidad
- Abra el menú de navegación, vaya a Identity & Management y seleccione domains.
- En la página de lista de dominios, seleccione el dominio de identidad con el que desea trabajar y conéctese a un dominio IoT.
- Seleccione el separador Gestión de usuarios y seleccione el usuario para el que desea actualizar la contraseña. Seleccione el separador Contraseñas de base de datos para actualizar la contraseña suprima la contraseña actual de la base de datos de IAM y cree una nueva contraseña de base de datos de IAM.
Los modelos gemelos digitales utilizan las especificaciones DTDL v3
Causa: crear un modelo de gemelo digital da como resultado un error
Al crear un modelo gemelo digital si aparece un error, confirme que solo está utilizando las especificaciones v3 de DTDL soportadas.
Solución: utilice solo las especificaciones DTDL v3 soportadas
- Si una propiedad
writableestá incluida en el modelo de gemelo digital, se debe definir enfalse. - Solo se puede anotar
contenten el componente comohistorized, lo que indica que la plataforma IoT debe retener la telemetría de serie temporal de ese sensor. Consulte el ejemplo de modelo gemelo digitaldtdl-model-specifications.json. Para ver un ejemplo, consulte Creación de un modelo de gemelo digital.
Límites de servicio excedidos
Solucione los problemas de los límites de servicio de recursos de grupo de dominios IoT o de dominio IoT por región.
Causa: IoT límites de recursos por región
La plataforma Internet of Things (IoT) tiene límites en el número de recursos por región.
Si intenta crear más de 2 dominios IoT o más en un grupo de dominios IoT, puede que aparezca el siguiente error. Para obtener más información, consulte crear un dominio IoT o un grupo de dominios IoT.
The following service limits were exceeded: <resource-count>. Request a service limit increase from the service limits page in the console.
Oracle restringe la creación de hasta 2 dominios IoT en cada grupo de dominios IoT. El número máximo de grupos de dominios IoT es 5 y el número máximo de dominios IoT es 10 por región en su arrendamiento. Para crear un dominio IoT, el usuario debe tener acceso de lectura para el grupo de dominios IoT asociado.
Remedio: Actualizar y aumentar los límites
Consulte la sección sobre límites de servicio para revisar los límites de los recursos IoT. Si necesita aumentar los límites, puede solicitar un aumento del límite de servicio.
Uso de Comillas con OCID
En Oracle Cloud Infrastructure (OCI), un OCID (identificador de Oracle Cloud) es un ID único asignado a cada recurso en la nube. Según el escenario específico, al interactuar con OCI a través de la interfaz de línea de comandos (CLI), la entrada de JSON o las llamadas de API, puede que tenga que citar el OCID para que se interprete como un valor de cadena. O puede que tenga que eliminar citas si un editor de código que está trabajando agrega citas no deseadas.
Algunas aplicaciones o editores de código pueden agregar comillas no deseadas a sus valores, revisar y eliminar comillas no deseadas o esto puede provocar un error.
Para cumplir con los estándares JSON y garantizar una interpretación correcta por parte de los servicios de OCI, un OCID debe estar entre comillas dobles, de modo que se trate como valor de cadena dentro de estructuras JSON o entradas complejas. Cuando se transfieren como argumentos directos y simples a los comandos de la CLI, a menudo no se requieren comillas explícitas.
- Sin comillas de OCID en la CLI: si un OCID es un argumento directo para un comando de la CLI, no es necesario utilizar comillas explícitamente a menos que forme parte de una cadena más grande o de un tipo complejo que requiera comillas.En este ejemplo, se muestra el uso de un OCID como un comando de la CLI sin comillas:
oci iot digital-twin-adapter create --iot-domain-id ocid1.iotdomain.oc1.example-ocid - Comprobación de OCID al embeber en cadenas JSON: si está transfiriendo un parámetro complejo a un comando de la CLI como una cadena JSON con un valor de OCID, el OCID dentro de la cadena JSON se debe incluir entre comillas dobles y se debe identificar si es necesario. Dependiendo de la herramienta y el sistema operativo que esté utilizando, para Windows es necesario. Para obtener más información, consulte Passing Complex Input in CLI.
- Comillas de OCID en objetos JSON: todos los valores de cadena de un objeto JSON se deben incluir entre comillas dobles. Si un OCID es un valor de un objeto JSON que está enviando a OCI mediante una API o un comando de CLI, debe estar entre comillas dobles:
{ "displayName": "my_resource", "compartmentId": "ocid1.compartment.oc1..<example>" } - Comprobación de OCID en llamadas de API: en los cuerpos o parámetros de solicitud: al realizar llamadas de API a OCI, si un OCID forma parte del cuerpo de la solicitud como carga útil de JSON o parámetro de consulta, se debe tratar como una cadena y entre comillas dobles dentro de la carga útil de JSON. O bien, debe codificarse correctamente como una cadena para los parámetros de URL. Los requisitos específicos dependen del punto final de API y del tipo de dato esperado para ese parámetro.
En instancias gemelas digitales mediante comillas para una clave externa
La clave externa es igual al nombre de usuario del dispositivo: si se crea una instancia de gemelo digital con comillas embebidas en la clave externa, por ejemplo: "\"american-auto\"", el nombre de usuario de autenticación básica, esas comillas pasan a formar parte del nombre de usuario necesario y se deben enviar literalmente. Esto a menudo causa problemas de comillas de shell. Si ha incluido comillas en el nombre de la clave externa, la solicitud curl también debe incluir las comillas, o se produce una discrepancia y se produce un error 401 Unauthorized.
Si utiliza comillas en el valor external key de la instancia gemela digital, debe utilizarlas cuando realice una llamada de API. O bien, puede omitir las comillas en el valor de clave externa.
--external-key y el valor correspondiente que no utiliza comillas:--external-key 01-23-45-67-89-ab
Mejores prácticas: cree instancias de gemelos digitales con claves externas y no incluya comillas, por ejemplo, american-auto. O bien, cuando deba autenticarse con nombres de usuario entre comillas, cree una cabecera Authorization: Basic ... en lugar de utilizar -u para evitar errores de comillas.
En los objetos JSON de adaptadores gemelos digitales deben utilizar comillas
Las expresiones sin comillas no se admiten en las rutas de entrada del adaptador gemelo digital. Para obtener más ejemplos, consulte Escenarios.
En un adaptador gemelo digital, las expresiones inbound-route no se admiten como valores raw sin comillas, por ejemplo:
"$.speed": ${(.velocity_kph / 1.609) | floor}
inbound-route, las expresiones se deben embeber como cadenas mediante comillas, por ejemplo: "$.speed": "${(.velocity_kph / 1.609) | floor}"