Validation des charges utiles JSON à l’aide du validateur de schéma TSOM
Utilisez la classe utilitaire TsomSchemaValidator pour valider les charges utiles JSON par rapport aux schémas TSOM avant d’importer des données. Cela permet d’identifier les erreurs à un stade précoce, de réduire les défaillances ETL et de confirmer la qualité des données.
Utilisez ce validateur pour vérifier si vos charges utiles JSON sont conformes au schéma attendu pour les objets Telco tels que les appareils, les connexions logiques et les topologies avant de créer des jeux d’importation. Cette étape de pré-validation permet d’éviter les erreurs de non-concordance de schéma et d’améliorer le débogage.
Types de schémas pris en charge
Le validateur prend en charge plusieurs types de schémas pour différentes structures de données Telco :
- Composites logiques - Représentant des regroupements de composants : équipements, PDU, étagères de ventilateur
- Appareils : équipements et leurs composants contenus
- Connexions logiques : connexions entre les interfaces réseau
- Relations de port : relations entre les interfaces réseau : physiques, logiques, décalages
- Relations de connexion logique : relations entre les connexions logiques
- Topologies : topologie du réseau
Structure de classe
let TsomSchemaValidator = Class.create();
TsomSchemaValidator.prototype = {
initialize: function() {
this.schemas = new TsomGenericSchema();
},
isValidJson: function(payload) {
// Validation logic that determines if the JSON structure is valid
// Returns boolean (true/false)
},
checkJsonValidation: function(payload) {
// Validation logic that determines if the JSON structure is valid
// Returns a JSON object containing errors (if exist)
},
type: 'TsomSchemaValidator'
};
Étapes
- Instancier le schéma ValidatorjavascriptCopyEdit
var TsomSchemaValidator = new sn_tsom_core.TsomSchemaValidator(); - Exécuter un booléen de vérification de validation
if (!TsomSchemaValidator.isValidJson(target_json)) { gs.error('Invalid JSON: ' + JSON.stringify(target_json)); return; } - Exécuter un contrôle de validation détaillé
let result = TsomSchemaValidator.checkJsonValidation(target_json); if (!result.valid) { gs.error('Invalid JSON: ' + JSON.stringify(result, null, 2)); return; }
Exemple de sortie
Example Output
{
"schemaName": "devices",
"errors": [
{
"message": "Missing required property: model_name",
"params": { "key": "model_name" },
"code": 302,
"dataPath": "/devices/0/ports/0",
"schemaPath": "/properties/devices/items/properties/ports/items/required/4"
}
],
"valid": false
}