Creación de un adaptador gemelo digital

Cree un adaptador de gemelos digitales para convertir las cargas útiles de datos sin procesar procedentes de un dispositivo físico o un sistema externo a datos de telemetría normalizados basados en el modelo de gemelos digitales.

Los datos se transfieren al adaptador de gemelos digitales como un objeto JSON que contiene los datos y la asignación.

Se requiere un adaptador gemelo digital cuando se trabaja con datos estructurados. Hay dos formas de utilizar un adaptador gemelo digital, dependiendo de si el dispositivo con el que está trabajando se puede programar para enviar datos:

  • Formato de adaptador predeterminado: si el dispositivo se puede programar para enviar datos en el formato con el que desea trabajar, cree un adaptador gemelo digital sin especificar inbound-envelope ni inbound-routes. Como resultado, los datos se envían en el formato predeterminado del dispositivo. Si no se especifica la asignación de sobre y contiene un valor timeObserved, receivedTime se utiliza como valor timeObserved. Para ver un ejemplo específico, consulte Escenario: Envío de datos estructurados en un formato predeterminado mediante HTTP.
  • Formato de adaptador personalizado: para los dispositivos que no se pueden programar para enviar datos, puede crear un adaptador gemelo digital personalizado definiendo un inbound-envelope y un envelope-mapping personalizados que transformen la carga útil y los metadatos para obtener la salida con la que desea trabajar. Para ver un ejemplo específico, consulte Escenario: Envío de datos estructurados en un formato personalizado mediante HTTP.
Nota

Límite: el número máximo de rutas de entrada es 128.

Ejemplo de JSON de carga útil de dispositivo:

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

Utilice expresiones JQ o JsonPath para crear una asignación de JSON de carga útil de adaptador.

En este ejemplo se utiliza JQ:
{ "temperature": .temp, "humidity": .hum, "timeObserved": .time }
Resultado de salida transformado:
{ "temperature": 65, "humidity": 55, "timeObserved": "<timestamp>" }

Puede probar la asignación de adaptadores en JQ Playground pegando la carga útil como entrada de consulta, agregando la asignación de JSON en la sección JSON y, a continuación, ver el resultado de salida.

  • Los siguientes ejemplos utilizan el parámetro URI de DTMI para asociar el adaptador al modelo gemelo digital. También puede utilizar el parámetro --digital-twin-model-id con el <digital-twin-model-OCID> para el modelo de gemelo digital que desea asociar a un adaptador de gemelo digital.

    Para crear un adaptador gemelo digital para datos estructurados en un formato por defecto:

    Utilice el comando oci iot digital-twin-adapter create y los parámetros necesarios para crear un adaptador gemelo digital. Sustituya <digital-twin-model-spec-uri> por el URI de DTMI para el modelo gemelo digital asociado. Para los datos estructurados, si el dispositivo se puede programar, cree un adaptador gemelo digital sin especificar inbound-envelope o envelope-mapping para aceptar los datos que provienen del dispositivo en la respuesta.
    oci iot digital-twin-adapter create --iot-domain-id <iot-domain-OCID> --digital-twin-model-spec-uri '<digital-twin-model-spec-uri>'

    Para crear un adaptador gemelo digital para datos estructurados en un formato personalizado:

    Utilice el comando oci iot digital-twin-adapter create y los parámetros necesarios para crear un adaptador gemelo digital personalizado para definir valores específicos de inbound-envelope o inbound-routes para obtener la salida con la que desea trabajar. Defina la asignación de carga útil personalizada para el gemelo digital mediante un archivo <file://inbound-envelope.json> y un archivo <file://inbound-routes.json> mediante expresiones JQ.

    Sustituya <digital-twin-model-spec-uri> por el URI de DTMI para el modelo gemelo digital asociado y sustituya <iot-domain-OCID> por el OCID de dominio IoT que desea asociar a este adaptador gemelo digital:

    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>

    Para obtener más información sobre la referencia a archivos, consulte Uso de un archivo de JSON para una entrada compleja.

    Para obtener una lista completa de los parámetros y valores de los comandos de la CLI, consulte Referencia de comandos de la CLI.

  • Ejecute la operación CreateDigitalTwinAdapter para crear un adaptador de gemelo digital en el dominio IoT especificado.