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
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- Allez à Atelier SQL, sélectionnez Commandes SQL.
- Vérifiez que le schéma
<iot-domain-short-id-from-device-host>__WKSPest sélectionné dans le menu déroulant du schéma supérieur droit. Notez que le schéma contient deux traits de soulignement. - Utilisez cet énoncé
ALTER USERSQL et la clauseREPLACErequise 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>"; - Sélectionnez Exécuter.
- 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
- 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.
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
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é
- Ouvrez le menu de navigation, allez à Identité et gestion, sélectionnez domaines.
- Dans la page de liste de domaines, sélectionnez le domaine d'identité avec lequel vous voulez travailler et vous connecter à un domaine IoT.
- 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
- Si une propriété
writableest incluse dans le modèle de jumeau numérique, elle doit être réglée àfalse. - Seule la valeur
contentdans le composant peut être annotée en tant quehistorized, 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ériquedtdl-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.
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.
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.
--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}
inbound-route doivent être intégrées en tant que chaînes à l'aide de guillemets, par exemple : "$.speed": "${(.velocity_kph / 1.609) | floor}"