Dépannage

Utilisez les informations de dépannage pour identifier et résoudre les problèmes courants qui peuvent survenir lors de l'utilisation de votre plate-forme Internet of Things (IoT).

Assurez-vous que vous disposez des autorisations requises. Un administrateur accorde l'accès en créant les politiques requises. Pour plus d'informations, voir Préalables et Informations détaillées sur les politiques pour la plate-forme Internet of Things (IoT).

Mettre à jour vos mots de passe

Vous devrez peut-être réinitialiser votre mot de passe de base de données lors de la connexion à la base de données à l'aide d'APEX ou lors de la connexion directe à la base de données à l'aide du groupe de domaines d'identité.

Cause : Si vous utilisez APEX et que vous devez réinitialiser votre mot de passe

Si vous configurez l'accès pour voir vos données IoT dans APEX, deux utilisateurs différents sont créés : un utilisateur de base de données et un administrateur d'espace de travail APEX. Il s'agit de deux utilisateurs différents avec le même nom d'utilisateur et le même mot de passe initial. Vous pouvez mettre à jour les mots de passe de chaque utilisateur.

Mesure corrective : Mettre à jour votre mot de passe de base de données APEX

  1. Seul un administrateur de l'espace de travail APEX peut modifier le mot de passe de l'utilisateur de base de données. Initialement, l'administrateur de l'espace de travail APEX utilise votre mot de passe de base de données APEX pour se connecter, puis suit ces étapes pour modifier le mot de passe de la base de données.

    Dans APEX, connectez-vous à l'espace de travail du domaine IoT en tant qu'administrateur, en utilisant les éléments suivants en tant que nom d'espace de travail et nom d'utilisateur de base de données, avec votre mot de passe de base de données APEX courant.
    Note

    Notez les deux traits de soulignement __WKSP.
    <domain-short-id-from-device-host>__WKSP
  2. Allez à Atelier SQL, sélectionnez Commandes SQL.
  3. Vérifiez que le schéma <iot-domain-short-id-from-device-host>__WKSP est sélectionné dans le menu déroulant du schéma supérieur droit. Notez que le schéma contient deux traits de soulignement.
  4. Utilisez cet énoncé ALTER USER SQL et la clause REPLACE requise pour modifier le mot de passe de l'utilisateur de base de données :
    ALTER USER <workspace-administrator-user-name> IDENTIFIED BY "<new-password>" REPLACE "<old-password>";
  5. Sélectionnez Exécuter.
  6. Exemples de résultats montrant la mise à jour du mot de passe :
    User altered.
    
    0.24 seconds

Mesure corrective : Mettre à jour votre mot de passe APEX

Pour modifier votre mot de passe APEX :
  • En tant qu'administrateur de l'espace de travail APEX, vous pouvez modifier le mot de passe de l'administrateur de l'espace de travail. Après vous être connecté à APEX en tant qu'administrateur, sélectionnez l'option Définir le mot de passe du compte APEX. Pour plus d'informations, voir Réinitialisation de votre mot de passe dans APEX.
  • En tant qu'utilisateur APEX, lorsque vous ouvrez une session dans l'application APEX pour la première fois, vous serez invité à modifier votre mot de passe APEX. Après votre connexion initiale, vous pouvez réinitialiser votre mot de passe dans la page de connexion APEX.
Note

Selon le système que vous utilisez, des guillemets peuvent être requis lorsque votre mot de passe contient des caractères spéciaux.

Mesure corrective : Réinitialiser le mot de passe de l'espace de travail APEX à l'aide de l'API

En tant qu'administrateur de l'espace de travail APEX, vous pouvez modifier si le compte de l'espace de travail APEX IoT est verrouillé. En tant qu'administrateur, vous pouvez exécuter cette opération ConfigureIotDomainDataAccess deux fois pour réinitialiser le mot de passe de l'espace de travail APEX.
POST /20250531/iotDomains/{iotDomainId}/actions/configureDataAccess
{
  "type": "APEX",
  "dbWorkspaceAdminInitialPassword": "<your-apex-initial-password>"
}

Cause : Autorisation manquante lors de la connexion directe à la base de données

Si vous établissez une connexion directe à la base de données à l'aide de la commande d'interface de ligne de commande suivante et que vous n'êtes pas autorisé à vous connecter directement à la base de données, vous pouvez créer un nouveau mot de passe de base de données pour le groupe de domaines d'identité à connecter.

Par exemple, lorsque vous utilisez la commande oci iot domain configure-direct-data-access et les paramètres requis pour configurer l'authentification d'un domaine IoT afin d'établir une connexion directe à la base de données et que vous ne pouvez pas vous connecter.

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>"]'

ou si vous utilisez ce format :

oci iot domain configure-direct-data-access --iot-domain-id <iot-domain-OCID> --db-allow-listed-identity-group-names '["<tenancy-OCID:<identity-group-name>"]'

Mesure corrective : Mettre à jour le mot de passe de base de données pour l'utilisateur du domaine d'identité

Mettez à jour le mot de passe de base de données de l'utilisateur du domaine d'identité IAM. Pour ce faire, connectez-vous à votre location IoT et effectuez les étapes suivantes :
  1. Ouvrez le menu de navigation, allez à Identité et gestion, sélectionnez domaines.
  2. Dans la page de liste de domaines, sélectionnez le domaine d'identité avec lequel vous voulez travailler et vous connecter à un domaine IoT.
  3. Sélectionnez l'onglet Gestion des utilisateurs, sélectionnez l'utilisateur pour lequel vous voulez mettre à jour le mot de passe. Sélectionnez l'onglet Mots de passe de base de données, pour mettre à jour le mot de passe supprimer le mot de passe courant de la base de données IAM et créer un nouveau mot de passe de base de données IAM.

Les modèles Digital Twin utilisent les spécifications DTDL v3

Cause : La création d'un modèle de jumeau numérique entraîne une erreur

Lorsque vous créez un modèle de jumeau numérique si vous obtenez une erreur, vérifiez que vous utilisez uniquement les spécifications DTDL v3 prises en charge.

Mesure corrective : Utiliser uniquement les spécifications DTDL v3 prises en charge

Lorsque vous définissez le modèle jumeau numérique, toutes les spécifications DTDL v3 sont prises en charge, à l'exception des extensions MQTT et des propriétés accessibles en écriture.
  • Si une propriété writable est incluse dans le modèle de jumeau numérique, elle doit être réglée à false.
  • Seule la valeur content dans le composant peut être annotée en tant que historized, indiquant que la plate-forme IoT doit conserver la télémétrie de série chronologique de ce capteur. Voir l'exemple de modèle de jumeau numérique dtdl-model-specifications.json. Pour un exemple, voir Création d'un modèle de jumeau numérique.

Limites de service dépassées

Dépannez les limites du service de ressources du domaine IoT ou du groupe de domaines IoT par région.

Cause : Limites des ressources IoT par région

La plate-forme Internet of Things (IoT) comporte des limites au nombre de ressources par région.

Si vous essayez de créer plus de 2 domaines IoT ou plus dans un groupe de domaines IoT, l'erreur suivante peut s'afficher. Pour plus d'informations, voir Créer un domaine IoT ou un groupe de domaines IoT.

The following service limits were exceeded: <resource-count>. Request a service limit increase from the service limits page in the console.

Note

Oracle limite la création de jusqu'à 2 domaines IoT dans chaque groupe de domaines IoT. Le nombre maximal de groupes de domaines IoT est de 5 et le nombre maximal de domaines IoT est de 10 par région dans votre location. Pour créer un domaine IoT, votre utilisateur doit disposer d'un accès en lecture pour le groupe de domaines IoT associé.

Mesure corrective : Mettre à niveau et augmenter les limites

Voir Limites de service pour vérifier les limites des ressources IoT. Si vous devez augmenter les limites, vous pouvez demander une augmentation des limites de service.

Utilisation de guillemets avec des OCID

Dans Oracle Cloud Infrastructure (OCI), un OCID (identificateur Oracle Cloud) est un ID unique affecté à chaque ressource en nuage. Selon le scénario spécifique, lors de l'interaction avec OCI au moyen de l'interface de ligne de commande, d'une entrée JSON ou d'appels d'API, vous devrez peut-être indiquer l'OCID de sorte qu'il soit interprété comme une valeur de chaîne. Ou vous devrez peut-être supprimer les guillemets si un éditeur de code que vous travaillez ajoute des guillemets indésirables.

Note

Certaines applications ou éditeurs de code peuvent ajouter des soumissions indésirables à vos valeurs, vérifier et supprimer les soumissions indésirables, ou cela peut entraîner une erreur.

Pour être conforme aux normes JSON et garantir une interprétation correcte par les services OCI, un OCID doit être encadré de guillemets doubles, de sorte qu'il soit traité comme une valeur de chaîne dans les structures JSON ou les entrées complexes. Lorsqu'il est transmis en tant qu'arguments directs et simples aux commandes de l'interface de ligne de commande, une citation explicite n'est souvent pas requise.

  • Ne pas citer d'OCID dans l'interface de ligne de commande : Si un OCID est un argument direct vers une commande d'interface de ligne de commande, vous n'avez pas besoin d'utiliser explicitement des guillemets, sauf s'il fait partie d'une chaîne plus grande ou d'un type complexe qui nécessite une soumission.
    Cet exemple montre comment utiliser un OCID est une commande d'interface de ligne de commande sans guillemets :
    oci iot digital-twin-adapter create --iot-domain-id ocid1.iotdomain.oc1.example-ocid 
  • Citation d'OCID lors de l'intégration dans des chaînes JSON : Si vous transmettez un paramètre complexe à une commande d'interface de ligne de commande en tant que chaîne JSON avec une valeur d'OCID, l'OCID de la chaîne JSON doit être encadré de guillemets doubles et être précédé d'un échappement si nécessaire. Selon l'outil et le système d'exploitation que vous utilisez, pour Windows, il est nécessaire. Pour plus d'informations, voir Transmission d'une entrée complexe dans l'interface de ligne de commande.
  • Citation d'OCID dans des objets JSON : Toutes les valeurs de chaîne d'un objet JSON doivent être encadrées de guillemets doubles. Si un OCID est une valeur dans un objet JSON que vous envoyez à OCI à l'aide d'une API ou d'une commande d'interface de ligne de commande, il doit faire l'objet d'une guillemet double :
    { "displayName": "my_resource", "compartmentId": "ocid1.compartment.oc1..<example>" } 
  • Citation d'OCID dans les appels d'API : Dans les corps ou paramètres de la demande : Lors des appels d'API vers OCI, si un OCID fait partie du corps de la demande en tant que données utiles JSON ou paramètre d'interrogation, il doit être traité comme une chaîne et encadré de guillemets doubles dans les données utiles JSON. Ou il doit être correctement encodé en tant que chaîne pour les paramètres d'URL. Les exigences spécifiques dépendent du point d'extrémité de l'API et du type de données attendu pour ce paramètre.

Dans les instances de jumeau numérique à l'aide de guillemets pour une clé externe

La clé externe est égale au nom d'utilisateur de l'appareil : Si une instance de jumeau numérique est créée avec des guillemets intégrés dans la clé externe, par exemple : "\"american-auto\"", le nom d'utilisateur d'authentification de base, ces guillemets font partie du nom d'utilisateur requis et doivent être envoyés littéralement. Cela provoque souvent des problèmes de citation shell. Si vous avez inclus des guillemets dans le nom de votre clé externe, votre demande curl doit également inclure les guillemets, ou une non-concordance se produit et entraîne une erreur 401 Unauthorized.

Si vous utilisez des guillemets dans la valeur Instance jumeau numérique external key, vous devez utiliser les guillemets lorsque vous effectuez un appel d'API. Vous pouvez également omettre les guillemets dans votre valeur de clé externe.

Pour éviter les problèmes de soumission, n'utilisez pas de soumissions dans la valeur de clé externe d'une instance de jumeau numérique. Par exemple, ceci affiche le paramètre de l'interface de ligne de commande --external-key et la valeur correspondante qui n'utilise pas de guillemets :

--external-key 01-23-45-67-89-ab

Meilleure pratique : Créez des instances de jumeau numérique avec des clés externes et ne pas inclure de guillemets; par exemple, american-auto Ou, lorsque vous devez vous authentifier avec des noms d'utilisateur entre guillemets, créez un en-tête Authorization: Basic ... plutôt que d'utiliser -u pour éviter les erreurs de soumission.

Dans les adaptateurs de jumeaux numériques, les objets JSON doivent utiliser des guillemets

Les expressions sans guillemets ne sont pas prises en charge dans les routes entrantes de l'adaptateur jumeau numérique. Pour plus d'exemples, voir Scénarios.

Dans un adaptateur jumeau numérique, les expressions inbound-route ne sont pas prises en charge en tant que valeurs brutes sans guillemets, par exemple :

"$.speed": ${(.velocity_kph / 1.609) | floor}
Dans un adaptateur jumeau numérique, les expressions de valeurs inbound-route doivent être intégrées en tant que chaînes à l'aide de guillemets, par exemple :
"$.speed": "${(.velocity_kph / 1.609) | floor}"