Configurez des règles de transfert pour acheminer les données traitées vers Time Series Database (TSDB) afin de les stocker.
Prérequis
Vous avez créé une instance IoT Platform dans une région qui prend en charge le transfert de données vers TSDB. Pour plus d'informations, consultez la rubrique Disponibilité des fonctionnalités par région.
-
Vous avez créé une instance TSDB déployée dans un réseau privé virtuel (VPC) dans la région Japon (Tokyo)Documentation TSDB
Chine (Shanghai)
. Pour plus d'informations, consultez la documentation
.
Vous avez créé une règle de transfert de données et rédigé une instruction SQL pour traiter les données. Pour plus d'informations, consultez la rubrique Configuration d'une règle de transfert de données.
Contexte
Une fois la destination des données configurée, le moteur de règles d'IoT Platform applique automatiquement les configurations suivantes pour transférer les données des appareils vers l'instance TSDB.
IoT Platform utilise deux adresses IP du vSwitch où réside 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ù réside l'instance TSDB. Le nom par défaut du groupe de sécurité commence par sg-nsm-.
Limites
-
Le transfert de données s'effectue uniquement au sein d'une même région. Par exemple, vous ne pouvez transférer des données qu'à partir d'une instance IoT Platform déployée dans la région Japon (Tokyo)Japon (Tokyo)
Chine (Shanghai)
vers une instance TSDB déployée dans la région
Chine (Shanghai)
.
Vous ne pouvez transférer des données que vers une instance TSDB déployée dans un VPC.
Seul le format JSON est pris en charge pour le transfert de données.
Dans les messages transférés, tous les champs sont écrits dans TSDB en tant que metric, à l'exception des champs configurés comme timestamp et tag value. Les types de données du paramètre metric acceptent les valeurs numériques et les chaînes de caractères. Si vous utilisez d'autres types de données, l'écriture dans la base de données peut échouer.
Remarques sur l'utilisation
Vous pouvez utiliser la nouvelle ou l'ancienne version de la fonctionnalité de transfert de données pour envoyer des données vers Lindorm. Pour plus d'informations sur l'utilisation de la nouvelle version de la fonctionnalité de transfert de données, consultez la rubrique Utilisation de la nouvelle version de la fonctionnalité de transfert de données pour envoyer des données vers Lindorm.
Procédure
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 .
-
Cliquez sur View à côté de la règle cible. La page Data Forwarding Rule s'affiche.
ImportantSi la page Data Forwarding (New Version) s'affiche, cliquez sur Back to Previous Version dans le coin supérieur droit, puis cliquez sur View à côté de la règle cible.
Dans la section Forward Data, cliquez sur Add Operation.
-
Dans la boîte de dialogue Add Operation, sélectionnez Store Data to TSDB dans la liste déroulante Operation. Suivez les instructions affichées à l'écran pour définir les autres paramètres et cliquez sur OK.
Paramètre Description Operation Sélectionnez Store Data to TSDB. Region La région où votre instance IoT Platform est déployée : Japon (Tokyo) Instance TSDB Spécifiez l'instance TSDB du VPC que vous avez créée comme destination du transfert de données. Type de données metric Spécifiez le type de données du paramètre metric. Valeurs possibles : Numeric Type et String. Cliquez sur l'icône
pour obtenir plus d'informations. Horodatage (timestamp) Horodatage. Les configurations suivantes sont prises en charge : - Utilisez une expression avec caractère d'échappement
${}. Par exemple, définissez le paramètre sur${time}. Cela indique que la valeur du paramètre correspond à la valeur du champ time dans le message du topic source de données. - Utilisez la fonction du moteur de règles
timestamp(). Cela indique que la valeur du paramètre est définie sur l'horodatage du serveur du moteur de règles. - Saisissez une valeur. La valeur saisie doit être un horodatage UNIX. Par exemple, vous pouvez saisir 1404955893000.
Nom du tag Spécifiez le nom du tag utilisé pour identifier les données. Le nom du tag peut contenir des lettres, des chiffres et les caractères spéciaux suivants : :,.'/-_()[] Valeur du tag Spécifiez la valeur du tag. Les configurations suivantes sont prises en charge : - Utilisez une expression avec caractère d'échappement
${}. Par exemple, si la structure d'un message dans un topic source de données contient une propriété location dont la clé est city, vous pouvez définir la valeur du tag sur${city}. Cela indique que la valeur du paramètre correspond à la valeur du champ city dans le message. Nous vous recommandons d'utiliser cette configuration. - Utilisez les fonctions spécifiées dans le moteur de règles, telles que
deviceName(). Cela indique que la valeur du tag correspond au nom de l'appareil. Pour plus d'informations sur les fonctions prises en charge, consultez la rubrique Fonctions. - Saisissez une constante. Par exemple, vous pouvez saisir la constante beijing. La valeur peut contenir des lettres, des chiffres et les caractères spéciaux suivants : :,.'/-_()[]
Remarque- Vous pouvez ajouter un maximum de huit noms de tags et huit valeurs de tags.
- Assurez-vous que TSDB peut récupérer les noms et les valeurs de tags configurés. Si TSDB ne peut pas obtenir le nom ou la valeur d'un tag, les données ne peuvent pas être écrites dans la base de données.
Rôle Accordez à IoT Platform les autorisations nécessaires pour écrire des données dans TSDB. - Utilisez une expression avec caractère d'échappement
Sur la page Data Forwarding, repérez la règle et cliquez sur Start dans la colonne Actions.
Exemples de transfert de données
Le bloc de code suivant fournit un exemple d'instruction SQL dans la règle de transfert de données :
SELECT time,city,power,distance FROM "/alprodu****/myDevice/user/update";
La section suivante montre comment le moteur de règles traite les données et les écrit dans TSDB en fonction de l'instruction SQL.
-
L'exemple d'instruction SQL montre que le moteur de règles filtre les champs time, city, power et distance des messages du topic
/alprodu****/myDevice/user/updateet utilise le contenu des champs filtrés comme contenu du message à transférer.L'exemple suivant présente le contenu du message à transférer après le traitement des données basé sur l'instruction SQL précédente :
{ "time": 1513677897, "city": "beijing", "distance": 8545, "power": 93.0 } -
Le moteur de règles écrit deux lignes de données dans TSDB en fonction de l'opération de transfert de données configurée.
Dans cet exemple, les données suivantes sont écrites dans TSDB :
-
Data: timestamp:1513677897, [metric:power value:93.0] tag: cityName=beijing -
Data: timestamp:1513677897, [metric:distance value:8545] tag: cityName=beijing
La section suivante décrit comment les données sont écrites dans TSDB :
Dans les messages transférés précédents, à l'exception du champ time configuré comme timestamp et du champ city configuré comme tag value, les autres champs (power et distance) sont écrits dans TSDB en tant que metric.
-