Création d'un adaptateur jumeau numérique

Créez un adaptateur jumeau numérique pour convertir les 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 mappage.

Un adaptateur jumeau numérique est nécessaire lorsque vous travaillez avec 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 l'appareil peut être programmé pour envoyer des données dans le format avec lequel vous voulez travailler, créez un adaptateur jumeau numérique sans spécifier inbound-envelope ou inbound-routes. Par conséquent, les données sont envoyées dans le format par défaut de l'appareil. Si le mappage d'enveloppe n'est pas spécifié et contient un timeObserved, receivedTime est utilisé en tant que valeur timeObserved. Pour un exemple spécifique, voir Scénario : Envoi de données structurées dans un format par défaut à l'aide de HTTP.
  • Format d'adaptateur personnalisé : Pour les appareils 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 adaptateur personnalisé inbound-envelope et envelope-mapping en transformant les données utiles et les métadonnées pour obtenir la sortie avec laquelle vous voulez travailler. Pour un exemple spécifique, voir Scénario : Envoi de données structurées dans un format personnalisé à l'aide de HTTP.
Note

Limite : Le nombre maximal de routes entrantes est de 128.

Exemple JSON de données utiles de l'appareil :

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

Utilisez des expressions JQ ou JsonPath pour créer un mappage JSON de données utiles d'adaptateur.

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

Vous pouvez essayer le mappage d'adaptateur dans JQ Playground en collant les données utiles en tant qu'entrée d'interrogation, en ajoutant le mappage 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 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 que vous souhaitez 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 :

    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 du 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 le inbound-envelope ou le 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é :

    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 voulez travailler. Définissez votre mappage de données utiles personnalisées pour 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 du modèle jumeau numérique associé et remplacez <iot-domain-OCID> par l'OCID du 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, voir Utilisation d'un fichier JSON pour les entrées complexes.

    Pour la liste complète des paramètres et des valeurs pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

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