Risoluzione dei problemi
Utilizzare le informazioni di risoluzione dei problemi per identificare e risolvere i problemi comuni che possono verificarsi quando si lavora con la piattaforma Internet of Things (IoT).
Assicurarsi di disporre delle autorizzazioni necessarie. Un amministratore concede l'accesso creando i criteri necessari. Per ulteriori informazioni, vedere Prerequisiti e Dettagli dei criteri per la piattaforma Internet of Things (IoT).
Aggiorna le password
Potrebbe essere necessario reimpostare la password del database durante la connessione al database utilizzando APEX o durante la connessione diretta al database utilizzando il gruppo di domini Identity.
Causa: se si utilizza APEX ed è necessario reimpostare la password
Se si configura l'accesso per visualizzare i dati IoT in APEX, vengono creati due utenti diversi, un utente di database e un utente amministratore di APEX Workspace. Si tratta di due utenti diversi con lo stesso nome utente e la stessa password iniziale. È possibile aggiornare le password per ciascun utente.
Rimedio: aggiornare la password del database APEX
Solo un amministratore dell'area di lavoro APEX può modificare la password dell'utente del database. Inizialmente, l'amministratore dell'area di lavoro APEX utilizza la password del database APEX per eseguire il login, quindi segue questi passi per modificare la password del database.
In APEX, eseguire il login all'area di lavoro del dominio IoT come amministratore, utilizzando quanto riportato di seguito come nome area di lavoro e nome utente database, con la password del database APEX corrente.Nota
I due caratteri di sottolineatura sono__WKSP.<domain-short-id-from-device-host>__WKSP- Andare a Workshop SQL e selezionare Comandi SQL.
- Verificare che lo schema
<iot-domain-short-id-from-device-host>__WKSPsia selezionato dal menu a discesa dello schema in alto a destra. Si noti che lo schema contiene due caratteri di sottolineatura. - Utilizzare questa istruzione SQL
ALTER USERe la clausolaREPLACErichiesta per modificare la password dell'utente del database:ALTER USER <workspace-administrator-user-name> IDENTIFIED BY "<new-password>" REPLACE "<old-password>"; - Selezionare Esegui.
- Risultati di esempio che mostrano l'aggiornamento della password:
User altered. 0.24 seconds
Rimedio: aggiornare la password APEX
- L'amministratore dell'area di lavoro APEX può modificare la password dell'amministratore dell'area di lavoro. Dopo aver eseguito il login ad APEX come amministratore, selezionare l'opzione Imposta password account APEX. Per ulteriori informazioni, vedere Reimpostazione della password in APEX.
- Come utente APEX, quando si esegue il login all'applicazione APEX per la prima volta, verrà richiesto di modificare la password APEX. Dopo aver eseguito il login iniziale, è possibile reimpostare la password nella pagina di login APEX.
A seconda del sistema utilizzato, potrebbero essere necessarie virgolette doppie quando la password contiene caratteri speciali.
Rimedio: reimpostare la password dell'area di lavoro APEX utilizzando l'API
POST /20250531/iotDomains/{iotDomainId}/actions/configureDataAccess
{
"type": "APEX",
"dbWorkspaceAdminInitialPassword": "<your-apex-initial-password>"
}Causa: autorizzazione mancante durante la connessione diretta al database
Se si stabilisce una connessione diretta al database utilizzando il comando CLI riportato di seguito e non si dispone dell'autorizzazione per connettersi direttamente al database, è possibile creare una nuova password del database per la connessione al gruppo di domini Identity.
Ad esempio, quando si utilizza il comando oci iot domain configure-direct-data-access e i parametri richiesti per configurare l'autenticazione di un dominio IoT per stabilire una connessione diretta al database e non è possibile connettersi.
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 se si utilizza questo 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>"]'Rimedio: aggiornare la password del database per l'utente del dominio di Identity
- Aprire il menu di navigazione, andare a Identity & Management, selezionare domini.
- Nella pagina dell'elenco dei domini, selezionare il dominio di identità da utilizzare e connettersi a un dominio IoT.
- Selezionare la scheda Gestione utenti, quindi selezionare l'utente per il quale si desidera aggiornare la password. Selezionare la scheda Password database per aggiornare la password eliminare la password del database IAM corrente e creare una nuova password del database IAM.
I modelli gemelli digitali utilizzano le specifiche DTDL v3
Causa: la creazione di un modello gemello digitale genera un errore
Quando si crea un modello gemello digitale in caso di errore, verificare di utilizzare solo le specifiche DTDL v3 supportate.
Rimedio: utilizzare solo specifiche DTDL v3 supportate
- Se una proprietà
writableè inclusa nel modello gemello digitale, deve essere impostata sufalse. - Solo il
contentall'interno del componente può essere annotato comehistorized, indicando che la piattaforma IoT deve conservare la telemetria della serie temporale del sensore, vedere l'esempio del modello gemello digitaledtdl-model-specifications.json. Per un esempio, vedere Creazione di un modello Digital Twin.
Limiti servizio superati
Risolvere i problemi relativi al dominio IoT o ai limiti del servizio delle risorse del gruppo di domini IoT per area.
Causa: IoT limiti di risorse per area
La piattaforma Internet of Things (IoT) prevede limiti per il numero di risorse per ogni area.
Se si tenta di creare più di 2 domini IoT o più in un gruppo di domini IoT, è possibile che venga visualizzato il seguente errore. Per ulteriori informazioni, vedere creare un dominio IoT o un gruppo di dominiIoT.
The following service limits were exceeded: <resource-count>. Request a service limit increase from the service limits page in the console.
Oracle limita la creazione di un massimo di 2 domini IoT in ogni gruppo di domini IoT. Il numero massimo di gruppi di domini IoT è 5 e il numero massimo di domini IoT è 10 per area nella tenancy. Per creare un dominio IoT, l'utente deve disporre dell'accesso in lettura per il gruppo di domini IoT associato.
Rimedio: Aggiorna e aumenta i limiti
Vedere Limiti del servizio per esaminare i limiti per le risorse IoT. Se è necessario aumentare i limiti, è possibile richiedere un aumento del limite del servizio.
Utilizzo di virgolette con OCID
In Oracle Cloud Infrastructure (OCI), un OCID (Oracle Cloud Identifier) è un ID univoco assegnato a ciascuna risorsa cloud. A seconda dello scenario specifico, quando si interagisce con OCI tramite l'interfaccia a riga di comando (CLI), l'input JSON o le chiamate API, potrebbe essere necessario citare l'OCID in modo che venga interpretato come valore stringa. In alternativa, potrebbe essere necessario rimuovere le virgolette se un editor di codice in uso aggiunge virgolette indesiderate.
Alcune applicazioni o editor di codice possono aggiungere virgolette indesiderate ai valori, rivedere e rimuovere eventuali virgolette indesiderate o causare un errore.
Per essere conforme agli standard JSON e garantire la corretta interpretazione da parte dei servizi OCI, un OCID deve essere racchiuso tra virgolette doppie, in modo che venga considerato come valore stringa all'interno di strutture JSON o input complessi. Quando vengono passati come argomenti semplici e diretti ai comandi CLI, spesso non è necessario fare preventivi espliciti.
- Non citare gli OCID nell'interfaccia CLI: se un OCID è un argomento diretto di un comando CLI, non è necessario utilizzare le virgolette in modo esplicito a meno che non faccia parte di una stringa più ampia o di un tipo complesso che richiede la citazione.Questo esempio mostra come utilizzare un OCID è un comando CLI senza virgolette.
oci iot digital-twin-adapter create --iot-domain-id ocid1.iotdomain.oc1.example-ocid - Preventivo degli OCID durante l'incorporamento nelle stringhe JSON: se si passa un parametro complesso a un comando CLI come stringa JSON con un valore OCID, l'OCID all'interno della stringa JSON deve essere racchiuso tra virgolette doppie e, se necessario, con escape. A seconda dello strumento e del sistema operativo in uso, per Windows è necessario. Per ulteriori informazioni, vedere Passaggio di un input complesso nell'interfaccia CLI.
- Preventivo degli OCID negli oggetti JSON: tutti i valori stringa all'interno di un oggetto JSON devono essere racchiusi tra virgolette doppie. Se un OCID è un valore in un oggetto JSON che si sta inviando a OCI utilizzando un'API o in un comando CLI, deve essere racchiuso tra virgolette:
{ "displayName": "my_resource", "compartmentId": "ocid1.compartment.oc1..<example>" } - Preventivo degli OCID nelle chiamate API: nei corpi o nei parametri della richiesta: quando si effettuano chiamate API a OCI, se un OCID fa parte del corpo della richiesta come payload JSON o parametro di query, deve essere considerato come una stringa e racchiuso tra virgolette doppie nel payload JSON. Oppure deve essere codificato correttamente come stringa per i parametri URL. I requisiti specifici dipendono dall'endpoint API e dal tipo di dati previsti per tale parametro.
Nelle istanze gemelle digitali che utilizzano preventivi per una chiave esterna
La chiave esterna equivale al nome utente del dispositivo: se un'istanza digital twin viene creata con virgolette incorporate nella chiave esterna, ad esempio "\"american-auto\"", il nome utente di autenticazione di base, tali virgolette diventano parte del nome utente richiesto e devono essere inviate letteralmente. Questo spesso causa problemi di quotazione della shell. Se sono state incluse virgolette nel nome della chiave esterna, anche la richiesta curl deve includere le virgolette oppure si verifica una mancata corrispondenza e si verifica un errore 401 Unauthorized.
Se si utilizzano le virgolette nel valore istanza gemella digitale external key, è necessario utilizzare le virgolette quando si effettua una chiamata API. In alternativa, è possibile omettere i preventivi nel valore della chiave esterna.
--external-key e il valore corrispondente che non utilizza le virgolette:--external-key 01-23-45-67-89-ab
Procedura ottimale: creare istanze digital twin con chiavi esterne e non includere virgolette, ad esempio american-auto oppure quando è necessario eseguire l'autenticazione con nomi utente citati, creare un'intestazione Authorization: Basic ... anziché utilizzare -u per evitare errori di citazione.
In Digital Twin Adapters gli oggetti JSON devono utilizzare le virgolette
Le espressioni senza virgolette non sono supportate negli instradamenti in entrata digital twin adapter. Per ulteriori esempi, vedere Scenari.
In un adattatore digital twin, le espressioni inbound-route non sono supportate come valori raw senza virgolette, ad esempio:
"$.speed": ${(.velocity_kph / 1.609) | floor}
inbound-route devono essere incorporate come stringhe utilizzando virgolette, ad esempio: "$.speed": "${(.velocity_kph / 1.609) | floor}"