Creazione di un adattatore Digital Twin
Creare un adattatore digital twin per convertire i payload di dati raw provenienti da e verso un dispositivo fisico o un sistema esterno in dati di telemetria normalizzati basati sul modello digital twin.
I dati vengono passati all'adattatore gemello digitale come oggetto JSON contenente i dati e il mapping.
Quando si utilizzano dati strutturati, è necessario un adattatore digital twin. Ci sono due modi per utilizzare un adattatore digital twin, a seconda che il dispositivo con cui si sta lavorando possa essere programmato per inviare dati:
- Formato adattatore predefinito: se il dispositivo può essere programmato per inviare i dati nel formato che si desidera utilizzare, creare un adattatore gemello digitale senza specificare
inbound-envelope
oinbound-routes
. Di conseguenza i dati vengono inviati nel formato predefinito del dispositivo. Se il mapping dell'envelope non viene specificato e contiene un valoretimeObserved
,receivedTime
viene utilizzato come valoretimeObserved
. Per un esempio specifico, vedere Scenario: invio di dati strutturati in un formato predefinito mediante HTTP. - Formato adattatore personalizzato: per i dispositivi che non possono essere programmati per l'invio di dati, è possibile creare un adattatore digital twin personalizzato definendo un
inbound-envelope
e unenvelope-mapping
personalizzati che trasformano il payload e i metadati per ottenere l'output che si desidera utilizzare. Per un esempio specifico, vedere Scenario: invio di dati strutturati in un formato personalizzato mediante HTTP.
Limite: il numero massimo di instradamenti in entrata è 128.
Esempio JSON payload del dispositivo:
{ "time": "<timestamp>", "temp": 65, "hum": 55 }
Utilizzare le espressioni JQ o JsonPath per creare un mapping JSON del payload dell'adattatore.
{ "temperature": .temp, "humidity": .hum, "timeObserved": .time }
Risultato dell'output trasformato:{ "temperature": 65, "humidity": 55, "timeObserved": "<timestamp>" }
È possibile provare a eseguire il mapping dell'adattatore in JQ Playground incollando il payload come input della query, aggiungendo il mapping JSON nella sezione JSON, quindi visualizzare il risultato dell'output.
Negli esempi riportati di seguito viene utilizzato il parametro URI DTMI per associare l'adattatore al modello gemello digitale. In alternativa, è possibile utilizzare il parametro
--digital-twin-model-id
con<digital-twin-model-OCID>
per il modello gemello digitale che si desidera associare a un adattatore gemello digitale.Per creare un adattatore gemello digitale per i dati strutturati in un formato predefinito:
Utilizzare il comando oci iot digital-twin-adapter create e i parametri necessari per creare un adattatore digital twin. Sostituire<digital-twin-model-spec-uri>
con l'URI DTMI per il modello gemello digitale associato. Per i dati strutturati, se il dispositivo può essere programmato, si crea un adattatore digital twin senza specificare ilinbound-envelope
o ilenvelope-mapping
per accettare i dati che provengono dal dispositivo nella risposta.oci iot digital-twin-adapter create --iot-domain-id <iot-domain-OCID> --digital-twin-model-spec-uri '<digital-twin-model-spec-uri>'
Per creare un adattatore gemello digitale per i dati strutturati in un formato personalizzato:
Utilizzare il comando oci iot digital-twin-adapter create e i parametri necessari per creare un adattatore digital twin personalizzato per definire valori specifici di
inbound-envelope
oinbound-routes
per ottenere l'output che si desidera utilizzare. Definire il mapping del payload personalizzato per il digital twin utilizzando un file<file://inbound-envelope.json>
e un file<file://inbound-routes.json>
utilizzando le espressioni JQ.Sostituire
<digital-twin-model-spec-uri>
con l'URI DTMI per il modello gemello digitale associato e sostituire<iot-domain-OCID>
con l'OCID dominio IoT che si desidera associare a questo adattatore gemello digitale:oci iot digital-twin-adapter create --iot-domain-id <iot-domain-OCID> --digital-twin-model-spec-uri '<digital-twin-model-spec-uri>' --inbound-envelope <file://inbound-envelope.json> --inbound-routes <file://inbound-routes.json>
Per ulteriori informazioni sui file di riferimento, vedere Uso di un file JSON per l'input complesso.
Per un elenco completo dei parametri e dei valori per i comandi CLI, vedere CLI Command Reference.
Eseguire l'operazione CreateDigitalTwinAdapter per creare un adattatore gemello digitale nel dominio IoT specificato.