Digital Twin Adapter erstellen

Erstellen Sie einen digitalen Zwillingsadapter, um Rohdaten-Payloads, die von und zu einem physischen Gerät oder einem externen System kommen, in normalisierte Telemetriedaten basierend auf dem digitalen Zwillingsmodell zu konvertieren.

Die Daten werden als JSON-Objekt mit den Daten und dem Mapping an den digitalen Zwillingsadapter übergeben.

Bei der Arbeit mit strukturierten Daten ist ein digitaler Doppeladapter erforderlich. Es gibt zwei Möglichkeiten, einen digitalen Zwillingsadapter zu verwenden, je nachdem, ob das Gerät, mit dem Sie arbeiten, so programmiert werden kann, dass Daten gesendet werden:

  • Standardadapterformat: Wenn das Gerät so programmiert werden kann, dass Daten in dem Format gesendet werden, mit dem Sie arbeiten möchten, erstellen Sie einen digitalen Zwillingsadapter, ohne inbound-envelope oder inbound-routes anzugeben. Infolgedessen werden die Daten im Standardformat des Geräts gesendet. Wenn die Envelope-Zuordnung nicht angegeben ist und einen timeObserved-Wert enthält, wird receivedTime als timeObserved-Wert verwendet. Ein bestimmtes Beispiel finden Sie unter Szenario: Gesendete strukturierte Daten in einem Standardformat mit HTTPs.
  • Benutzerdefiniertes Adapterformat: Für Geräte, die nicht so programmiert werden können, dass Daten gesendet werden, können Sie einen benutzerdefinierten digitalen Zwillingsadapter erstellen, indem Sie einen benutzerdefinierten inbound-envelope- und envelope-mapping-Adapter definieren, der die Payload und Metadaten transformiert, um die Ausgabe abzurufen, mit der Sie arbeiten möchten. Ein bestimmtes Beispiel finden Sie unter Szenario: Senden strukturierter Daten in einem benutzerdefinierten Format mit HTTPs.
Hinweis

Limit: Die maximale Anzahl eingehender Routen beträgt 128.

Beispiel für Geräte-Payload-JSON:

{ "time": "<timestamp>", "temp": 65, "hum": 55 }

Verwenden Sie JQ-Ausdrücke oder JsonPath, um eine Adapter-Payload-JSON-Zuordnung zu erstellen.

In diesem Beispiel wird JQ verwendet:
{ "temperature": .temp, "humidity": .hum, "timeObserved": .time }
Transformiertes Ausgabeergebnis:
{ "temperature": 65, "humidity": 55, "timeObserved": "<timestamp>" }

Sie können die Adapterzuordnung in JQ-Playground versuchen, indem Sie die Payload als Abfrageeingabe einfügen, die JSON-Zuordnung im JSON-Abschnitt hinzufügen und dann das Ausgabeergebnis anzeigen.

  • In den folgenden Beispielen wird der DTMI-URI-Parameter verwendet, um den Adapter mit dem digitalen Zwillingsmodell zu verknüpfen. Alternativ können Sie den Parameter --digital-twin-model-id mit der <digital-twin-model-OCID> für das digitale Zwillingsmodell verwenden, das Sie einem digitalen Zwillingsadapter zuordnen möchten.

    So erstellen Sie einen digitalen Zwillingsadapter für strukturierte Daten in einem Standardformat:

    Verwenden Sie den Befehl oci iot digital-twin-adapter create und die erforderlichen Parameter, um einen digitalen Zwillingsadapter zu erstellen. Ersetzen Sie <digital-twin-model-spec-uri> durch den DTMI-URI für das zugehörige digitale Zwillingsmodell. Wenn das Gerät für strukturierte Daten programmiert werden kann, erstellen Sie einen digitalen Zwillingsadapter, ohne die inbound-envelope oder envelope-mapping anzugeben, um die Daten zu akzeptieren, die von dem Gerät in der Antwort stammen.
    oci iot digital-twin-adapter create --iot-domain-id <iot-domain-OCID> --digital-twin-model-spec-uri '<digital-twin-model-spec-uri>'

    So erstellen Sie einen digitalen Zwillingsadapter für strukturierte Daten in einem benutzerdefinierten Format:

    Verwenden Sie den Befehl oci iot digital-twin-adapter create und die erforderlichen Parameter, um einen benutzerdefinierten digitalen Zwillingsadapter zu erstellen, um bestimmte inbound-envelope- oder inbound-routes-Werte zu definieren und die Ausgabe abzurufen, mit der Sie arbeiten möchten. Definieren Sie das benutzerdefinierte Payload-Mapping für Ihren digitalen Zwilling, indem Sie eine Datei <file://inbound-envelope.json> und eine Datei <file://inbound-routes.json> mit JQ-Ausdrücken verwenden.

    Ersetzen Sie <digital-twin-model-spec-uri> durch die DTMI-URI für das zugehörige digitale Zwillingsmodell, und ersetzen Sie <iot-domain-OCID> durch die IoT-Domain-OCID, die Sie mit diesem digitalen Zwillingsadapter verknüpfen möchten:

    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>

    Weitere Informationen zum Referenzieren von Dateien finden Sie unter JSON-Datei für komplexe Eingaben nutzen.

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.

  • Führen Sie den Vorgang CreateDigitalTwinAdapter aus, um einen digitalen Zwillingsadapter in der angegebenen IoT-Domain zu erstellen.