Création d'un adaptateur jumeau numérique

Créez un adaptateur jumeau numérique pour convertir les charges utiles de données brutes provenant d'un appareil physique ou d'un système externe en données de télémétrie normalisées basées sur le modèle jumeau numérique.

Les données sont transmises à l'adaptateur jumeau numérique en tant qu'objet JSON contenant les données et le mapping.

Un adaptateur jumeau numérique est requis lorsque vous utilisez des données structurées. Il existe deux façons d'utiliser un adaptateur jumeau numérique, selon que l'appareil avec lequel vous travaillez peut être programmé pour envoyer des données :

  • Format d'adaptateur par défaut : si le périphérique peut être programmé pour envoyer des données dans le format que vous souhaitez utiliser, créez un adaptateur jumeau numérique sans indiquer inbound-envelope ou inbound-routes. Par conséquent, les données sont envoyées au format par défaut de l'appareil. Si le mapping d'enveloppe n'est pas spécifié et contient une valeur timeObserved, receivedTime est utilisé comme valeur timeObserved. Pour obtenir un exemple spécifique, reportez-vous à Scénario : envoi de données structurées au format par défaut à l'aide de HTTP.
  • Format d'adaptateur personnalisé : pour les périphériques qui ne peuvent pas être programmés pour envoyer des données, vous pouvez créer un adaptateur jumeau numérique personnalisé en définissant un inbound-envelope et un envelope-mapping personnalisés transformant la charge utile et les métadonnées pour obtenir la sortie avec laquelle vous souhaitez travailler. Pour obtenir un exemple spécifique, reportez-vous à Scénario : envoi de données structurées dans un format personnalisé à l'aide de HTTP.
Remarque

Limite : le nombre maximal d'itinéraires entrants est de 128.

Exemple JSON de charge utile d'appareil :

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

Utilisez des expressions JQ ou JsonPath pour créer un mapping JSON de charge utile d'adaptateur.

Cet exemple utilise JQ :
{ "temperature": .temp, "humidity": .hum, "timeObserved": .time }
Résultat de la sortie transformée :
{ "temperature": 65, "humidity": 55, "timeObserved": "<timestamp>" }

Vous pouvez essayer le mapping d'adaptateur dans JQ Playground en collant la charge utile en tant qu'entrée de requête, en ajoutant le mapping JSON dans la section JSON, puis en affichant le résultat de sortie.

  • Les exemples suivants utilisent le paramètre URI DTMI pour associer l'adaptateur au modèle de jumeau numérique. Vous pouvez également utiliser le paramètre --digital-twin-model-id avec <digital-twin-model-OCID> pour le modèle de jumeau numérique à associer à un adaptateur de jumeau numérique.

    Pour créer un adaptateur jumeau numérique pour les données structurées dans un format par défaut, procédez comme suit :

    Utilisez la commande oci iot digital-twin-adapter create et les paramètres requis pour créer un adaptateur jumeau numérique. Remplacez <digital-twin-model-spec-uri> par l'URI DTMI de votre modèle jumeau numérique associé. Pour les données structurées, si l'appareil peut être programmé, vous créez un adaptateur jumeau numérique sans spécifier inbound-envelope ou envelope-mapping pour accepter les données provenant de l'appareil dans la réponse.
    oci iot digital-twin-adapter create --iot-domain-id <iot-domain-OCID> --digital-twin-model-spec-uri '<digital-twin-model-spec-uri>'

    Pour créer un adaptateur jumeau numérique pour les données structurées dans un format personnalisé, procédez comme suit :

    Utilisez la commande oci iot digital-twin-adapter create et les paramètres requis pour créer un adaptateur jumeau numérique personnalisé afin de définir des valeurs inbound-envelope ou inbound-routes spécifiques pour obtenir la sortie avec laquelle vous souhaitez travailler. Définissez le mapping de charge utile personnalisé de votre jumeau numérique à l'aide d'un fichier <file://inbound-envelope.json> et d'un fichier <file://inbound-routes.json> à l'aide d'expressions JQ.

    Remplacez <digital-twin-model-spec-uri> par l'URI DTMI de votre modèle jumeau numérique associé et remplacez <iot-domain-OCID> par l'OCID de domaine IoT à associer à cet adaptateur jumeau numérique :

    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>

    Pour plus d'informations sur le référencement de fichiers, reportez-vous à la section Using a JSON File for Complex Input.

    Pour obtenir la liste complète des paramètres et des valeurs des commandes de la CLI, reportez-vous à Référence des commandes de la CLI.

  • Exécutez l'opération CreateDigitalTwinAdapter pour créer un adaptateur jumeau numérique dans le domaine IoT spécifié.