Aller au contenu

Modèles de données

Les trois modèles de données de PushGo comportent des sémantiques métier différentes. Choisir le bon modèle facilite le raisonnement sur la présentation du client, l’historique, la fusion d’états et l’automatisation.

Ce que vous devez exprimerUtiliserPourquoi
”Quelque chose s’est passé ; prévenez-moi une fois”MessageAucun état persistant ; chaque message est autonome.
”Quelque chose a commencé, change avec le temps et finit par se terminer”EventUn event_id peut être mis à jour plusieurs fois puis fermé.
”Cet appareil, service, salle ou tâche a un état actuel”ThingUn thing_id peut être mis à jour au fil du temps.
”Une alerte s’est produite sur une entité spécifique”Thing + MessageThing identifie l’entité ; Message enregistre l’alerte.
”Une entité spécifique traverse un processus”Thing + EventThing identifie l’objet ; Event enregistre le cycle de vie.

Message est le modèle de notification le plus simple. Utilisez-le pour le contenu qui n’a pas besoin d’être fusionné ou fermé ultérieurement.

  • L’utilisation du disque a dépassé un seuil.
  • Sauvegarde terminée.
  • Le prix a baissé.
  • Une caméra a détecté un mouvement et inclut un instantané.
  • Le cycle de vie de création, de publication et de fin d’un déploiement.
  • Le dernier état d’un serveur, d’un capteur ou d’une salle.
  • Une valeur du tableau de bord qui doit être écrasée au fil du temps.
GroupeChamps
Authentification et routagechannel_id, password, op_id, thing_id
Affichagetitle, body, severity, url, images, tags
Temps et sécuritéoccurred_at, ttl, ciphertext
Rallongesmetadata
{
"channel_id": "YOUR_CHANNEL_ID",
"password": "YOUR_CHANNEL_PASSWORD",
"title": "Backup completed",
"body": "The daily NAS backup has finished.",
"severity": "normal"
}

Event représente un processus. Sa création renvoie un event_id  ; les mises à jour ultérieures et le dernier appel rapproché utilisent cet identifiant.

  • Déploiement CI/CD : démarré, build, publié, réussi ou échoué.
  • Gestion des incidents : détectés, investigués, récupérés.
  • Etat porte/fenêtre : ouverte puis fermée.
  • Tâches de longue durée : transcodage, synchronisation, formation de modèles.
/event/create -> event_id
|
+-> /event/update can be called many times
|
+-> /event/close ends the event
GroupeChamps
Authentification et routagechannel_id, password, op_id, thing_id
Cycle de vieevent_id, event_time, started_at, ended_at
Affichagetitle, description, status, message, severity, tags, images
Rallongesattrs, metadata, ciphertext
  • Utilisez des valeurs status courtes telles que running, degraded, success ou failed.
  • Utilisez message pour la mise à jour actuelle, telle que “image poussée”.
  • event_time est le moment où cette mise à jour a eu lieu.
  • started_at est l’heure globale de début de l’événement et appartient à la création.
  • ended_at est l’heure de fin globale de l’événement et appartient à la clôture.

Thing représente un objet à longue durée de vie. Sa valeur vient de la mise à jour du même objet au lieu de créer des notifications sans rapport.

  • NAS domestique, serveur ou service réseau.
  • Pièce, capteur, caméra ou serrure.
  • Actif ou tâche de longue durée.
  • Tout ce qui devrait montrer l’état actuel.
/thing/create -> thing_id
|
+-> /thing/update can be called many times
|
+-> /thing/archive inactive but history remains
|
+-> /thing/delete removed or retired
GroupeChamps
Authentification et routagechannel_id, password, op_id
Identité et affichagething_id, title, description, tags, primary_image, images
Tempscreated_at, observed_at, deleted_at
Systèmes externesexternal_ids, location_type, location_value
Étatattrs, metadata, ciphertext
  • Utilisez title pour le nom lisible par l’homme, tel que « Home NAS ».
  • Utilisez attrs pour modifier des valeurs telles que le processeur, la température ou l’état en ligne.
  • Utilisez metadata pour les données auxiliaires qui ne sont généralement pas affichées.
  • Utilisez external_ids pour vous connecter aux identifiants de systèmes tels que Home Assistant.
CombinaisonModèle
Thing + MessageUne alerte « disque presque plein » s’est produite sur l’entité « Home NAS ».
Thing + EventL’entité « base de données de production » rencontre un événement de décalage de réplication.
Event + MessageEvent enregistre le cycle de vie ; Le Message envoie une alerte forte à un point critique.

En cas de doute, commencez par Message. Lorsqu’un script envoie à plusieurs reprises « démarré/mis à jour/terminé » ou « valeur actuelle modifiée », effectuez une mise à niveau vers Event ou Thing.