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
ouinbound-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 valeurtimeObserved
,receivedTime
est utilisé comme valeurtimeObserved
. 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 unenvelope-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.
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.
{ "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écifierinbound-envelope
ouenvelope-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
ouinbound-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é.