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 o inbound-routes. Di conseguenza i dati vengono inviati nel formato predefinito del dispositivo. Se il mapping dell'envelope non viene specificato e contiene un valore timeObserved, receivedTime viene utilizzato come valore timeObserved. 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 un envelope-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.
Nota

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.

Questo esempio utilizza JQ:
{ "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 il inbound-envelope o il envelope-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 o inbound-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.