Configurez des règles de transfert de données pour acheminer les données traitées vers Time Series Database (TSDB) afin de les stocker. L'exemple suivant utilise un topic de communication TSL (Thing Specification Language) comme topic source pour illustrer le processus complet de transfert.
Prérequis
Créez une instance IoT Platform dans une région prenant en charge le transfert de données vers TSDB. Pour plus d'informations, consultez la rubrique Disponibilité des fonctionnalités par région.
Créez une source de données nommée DataSource et ajoutez-y un topic de communication TSL. Pour plus d'informations, consultez la rubrique Ajouter une source de données.
-
Créez une instance TSDB dans un VPC (Virtual Private Cloud) de la région Japon (Tokyo)Documentation de Time Series Database (TSDB)
Chine (Shanghai)
. Pour plus d'informations, consultez la documentation
.
Contexte
Après avoir configuré la destination des données, IoT Platform configure automatiquement les éléments suivants pour transférer les données des appareils depuis le moteur de règles vers Time Series Database (TSDB).
IoT Platform utilise deux adresses IP du vSwitch où se trouve l'instance TSDB. Le bloc CIDR IPv4 du vSwitch est ajouté à la liste d'autorisation de l'instance TSDB.
Un groupe de sécurité géré est créé dans le VPC où se trouve l'instance TSDB. Le nom du groupe de sécurité commence par sg-nsm- par défaut.
Dans cet exemple, les données suivantes sont écrites dans TSDB :
timestamp : Utilisez la fonction
timestamp()pour obtenir l'horodatage des données rapportées par l'appareil.tag : Utilisez la fonction
deviceName()pour obtenir le nom de l'appareil et l'écrire dans le tag{"deviceName":deviceName()}.metric : Utilisez la méthode JSONPath pour obtenir les valeurs des propriétés du modèle TSL Temperature et Humidity rapportées par l'appareil. Ces valeurs sont ensuite écrites dans les données de série temporelle en tant que métriques de température et d'humidité.
Limites
-
Le transfert de données n'est possible qu'au sein d'une même région. Par exemple, les données d'une instance IoT Platform située dans la région Japon (Tokyo)Japon (Tokyo)
Chine (Shanghai)
ne peuvent être transférées que vers une instance TSDB située dans la région
Chine (Shanghai)
.
Les données ne peuvent être transférées que vers des instances TSDB situées dans un VPC (Virtual Private Cloud).
Seules les données au format JSON peuvent être transférées.
Dans un message transféré, tous les champs sont écrits dans Time Series Database en tant que metric s, à l'exception des champs configurés comme timestamp et tag value s. Le type de données metric prend en charge les valeurs numériques et les chaînes de caractères. Les autres types de données entraînent l'échec de l'opération d'écriture.
Notes d'utilisation
Vous pouvez également utiliser la nouvelle ou l'ancienne version de la fonctionnalité de transfert de données pour envoyer des données vers TSDB. Pour plus d'informations, consultez la rubrique Transférer des données vers TSDB.
Créer une destination de données
Connectez-vous à la console IoT Platform.
Sur la page Overview, repérez l'instance que vous souhaitez gérer et cliquez sur son ID ou son nom.
Dans le volet de navigation de gauche, choisissez .
-
Sur la page Data Forwarding, cliquez sur Go to New Version dans le coin supérieur droit.
RemarqueSi vous avez déjà effectué cette opération, vous êtes automatiquement redirigé vers la nouvelle version de la page Data Forwarding.
Cliquez sur l'onglet Data destination, puis sur Create data destination.
-
Dans la boîte de dialogue Create Data Destination, saisissez un nom pour la destination de données. Dans cet exemple, nous utilisons DataPurpose. Configurez les paramètres et cliquez sur OK.
Parameter
Description
Operation
Sélectionnez Store Data to TSDB.
Region
La région de votre instance IoT Platform.
TSDB Instance
L'instance TSDB que vous avez créée dans un VPC.
metric Data Type
Le type de données du paramètre metric. Valeurs valides : Numeric Type et String.
Cliquez sur l'icône
pour obtenir de l'aide.Role
Autorisez IoT Platform à écrire des données dans TSDB.
Configurer et démarrer un analyseur
Créez un analyseur, par exemple DataParser. Pour plus d'informations, consultez la rubrique Étape 1 : Créer un analyseur.
-
Sur la page Resolver Details, associez la source de données.
Dans l'assistant de configuration, sous Data Source, cliquez sur Associate Data Source.
Dans la boîte de dialogue, sélectionnez DataSource dans la liste déroulante Data Source et cliquez sur OK.
-
Sur la page Resolver Details, associez des destinations de données.
Dans l'assistant de configuration, cliquez sur Data Destination. Ensuite, dans le coin supérieur droit de la liste Data Destination, cliquez sur Associate Data Destination.
Dans la boîte de dialogue qui s'affiche, sélectionnez DataPurpose dans la liste déroulante Data Destination et cliquez sur OK.
-
Dans la liste des destinations de données, repérez l'Data Destination ID et notez-le. Par exemple, 1000.
Vous aurez besoin de cet Data Destination ID dans le script d'analyse.
Sur la page parser details, cliquez sur l'onglet Parser Script.
-
Dans l'éditeur de code, saisissez un script. Pour plus d'informations sur la modification d'un script, consultez la rubrique Syntaxe du script.
Pour plus d'informations sur les paramètres des fonctions, consultez la rubrique Liste des fonctions.
// Use the payload() function to obtain the data that is submitted by devices and convert the data to JSON-formatted data. var data = payload("json"); // Filter the submitted temperature and humidity values. var h = data.items.Humidity.value; var t = data.items.Temperature.value; // Forward submitted TSL data. writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()}); writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()}); -
Cliquez sur Debugging. Dans la boîte de dialogue qui s'affiche, sélectionnez un produit et un appareil, spécifiez un topic, puis saisissez les données de charge utile pour vérifier si le script s'exécute comme prévu.
Spécifiez les paramètres suivants :
Topic :
/${productKey}/${deviceName}/thing/event/property/postPayload data : Une structure JSON contenant productKey, gmtCreate, deviceName et un objet items, où items contient Temperature (value: 70).
Le résultat suivant indique que le script s'exécute comme prévu.
action: transmit to tsdb[destinationId=1000] Cliquez sur Publish.
Revenez à l'onglet Resolver de la page Data Forwarding et cliquez sur Start pour l'analyseur DataParser.