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
ouinbound-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 untimeObserved
,receivedTime
est utilisé en tant que valeurtimeObserved
. 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
etenvelope-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.
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.
{ "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 leinbound-envelope
ou leenvelope-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
ouinbound-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é.