Cette page explique ce qu’Hermetry écrit lorsqu’un flux enregistre une mesure, et pourquoi. Comprendre cela vous aide à prévoir ce que renvoient un graphique ou l’API, et pourquoi certaines valeurs apparaissent à un endroit mais pas à un autre.
Seuls les flux stockent des données
Un message d’un appareil est stocké parce qu’un flux le demande. Chaque organisation commence avec un flux racine par défaut qui reçoit chaque message d’appareil et enregistre la télémesure et les attributs client. Le bloc Enregistrer la télémesure est le seul moyen d’écrire la télémesure :
- Supprimez le bloc (ou la branche qui y mène) et les mesures ne sont plus stockées. L’appareil apparaît toujours en ligne, car la connexion est suivie séparément.
- Seul
msg.payloadest stocké. Les métadonnées du message (le topic, le transport, le nom de l’appareil) ne sont jamais stockées. - Une exécution de test d’un flux ne stocke jamais rien.
Voir Hôtes, le flux racine et les flux racines de profil.
Une ligne par message
Lorsque le bloc Enregistrer la télémesure écrit un enregistrement, le stockage ajoute une seule ligne pour l’enregistrement entier, et non une ligne par clé :
| Partie de la ligne | Contient |
|---|---|
| Appareil et horodatage | L’identifiant de l’appareil et l’horodatage de l’enregistrement (millisecondes, UTC) |
| Nombres | Chaque valeur numérique, stockée par identifiant de clé |
| Autres valeurs | Booléens, textes et valeurs JSON, stockés par nom de clé |
| Empreinte du message | Un hachage des valeurs, utilisé pour reconnaître un même message reçu deux fois |
Un enregistrement de 8 clés correspond à une seule ligne. Cela rend le stockage compact et permet à l’API de renvoyer un message entier d’un seul coup.
Le dictionnaire des clés
Chaque clé utilisée par votre organisation reçoit un petit numéro dans un dictionnaire propre à l’organisation, la première fois qu’elle est stockée. Ce dictionnaire est partagé par tous vos appareils : temperature est une seule clé, qu’un appareil ou dix mille l’envoient.
- Les clés ne sont jamais renommées ni réutilisées. Une clé reste dans le dictionnaire après la suppression des appareils qui l’ont envoyée.
- Votre offre peut limiter le nombre de clés distinctes. Une nouvelle clé au-delà de la limite n’est pas stockée, alors que les autres clés du même enregistrement le sont. Voir Clés de télémesure.
Dernières valeurs
En complément de l’historique, le stockage conserve une dernière valeur par appareil et par clé, avec son horodatage. Les cartes de valeurs des tableaux de bord, l’onglet Télémesure de l’appareil et le bloc de flux Dernières valeurs les lisent.
La dernière valeur n’est remplacée que par un horodatage strictement plus récent :
- Une mesure avec un horodatage plus ancien (un retard mis en mémoire tampon arrivant après une mesure plus récente) est stockée dans l’historique mais ne remplace pas la dernière valeur.
- Un renvoi corrigé avec le même horodatage est stocké comme message distinct si ses valeurs diffèrent, mais la dernière valeur conserve la première.
Ainsi, l’historique, les dernières valeurs et la vue en direct concordent toujours.
Agrégats et cumuls
Les nombres sont aussi résumés afin que les longues périodes se lisent rapidement :
| Niveau | Contenu | Alimenté par |
|---|---|---|
| Agrégats à la minute | Par clé numérique et par minute : somme, nombre, minimum, maximum et dernière valeur | Une tâche qui s’exécute chaque minute |
| Cumuls horaires | Les mêmes cinq valeurs par heure | Dérivés des agrégats à la minute |
| Cumuls journaliers | Les mêmes cinq valeurs par jour (UTC) | Dérivés des agrégats à la minute |
Les textes, booléens et valeurs JSON ne sont pas agrégés. Une mesure qui arrive en retard pour une minute déjà résumée marque cette minute pour un nouveau passage, afin que les données tardives soient intégrées. Voir Agrégats et cumuls.
Source utilisée par une lecture
| Période | Lue depuis |
|---|---|
| Jusqu’à 24 heures | Les lignes de messages bruts (chaque mesure) |
| Plus longue | Le cumul le plus fin qui reste sous 10 000 intervalles : minutes, puis heures, puis jours |
Vous pouvez aussi demander une résolution précise dans l’API. Voir L’API d’historique.
Rétention
Chaque niveau est conservé pendant sa propre durée. Les lignes brutes sont conservées au plus 90 jours, les agrégats à la minute au plus 31 jours, et les cumuls horaires et journaliers pendant toute la classe de rétention de votre offre. Voir Durée de conservation des données.
Valeurs en direct
Après validation d’un enregistrement, les nouvelles valeurs sont envoyées aux tableaux de bord ouverts et aux pages d’appareils qui suivent l’appareil. Une valeur non enregistrée (par exemple une clé filtrée par le flux racine) n’apparaît jamais en direct. La diffusion en direct est limitée à quatre mises à jour par seconde et par clé ; les valeurs intermédiaires sont tout de même stockées.
Lors de la suppression d’un appareil
La suppression d’un appareil retire ses mesures, ses agrégats à la minute, ses cumuls et ses dernières valeurs en arrière-plan, une journée de données à la fois. Les clés qu’il utilisait restent dans le dictionnaire.
Comptage
| Compteur | Signification |
|---|---|
| Messages IoT | Messages de télémesure et d’attributs acceptés depuis les appareils, comptés à leur arrivée, qu’un flux les stocke ou non |
| Points de données IoT stockés | Les valeurs effectivement insérées par le stockage. Un doublon écarté par le stockage n’est pas compté. Sans quota. |

