Validando cargas JSON usando o Validador de esquema do TSOM

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • Use a classe do utilitário TsomSchemaValidator para validar cargas úteis JSON em esquemas TSOM antes de importar dados. Isso ajuda a identificar erros antecipadamente, reduzir falhas de ETL e confirmar a qualidade dos dados.

    Use este validador para verificar se suas cargas JSON estão em conformidade com o esquema esperado para objetos de telecomunicações, como dispositivos, conexões lógicas e topologias, antes de criar conjuntos de importação. Esta etapa de pré-validação ajuda a evitar erros de incompatibilidade de esquema e melhora a depuração.

    Tipos de esquema compatíveis

    O validador oferece suporte a vários tipos de esquema para diferentes estruturas de dados de telecomunicações:
    • Compostos lógicos - Representam agrupamentos de componentes: Equipamentos, PDUs, prateleiras de ventiladores
    • Equipamentos - Equipamento e seus componentes contidos
    • Conexões lógicas - Conexões entre interfaces de rede
    • Relações de porta - Relacionamentos entre interfaces de rede: Física, lógica, atrasos
    • Relações de conexão lógica - Relacionamentos entre conexões lógicas
    • Topologia - Topologia de rede

    Estrutura 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'
    };

    Etapas

    1. Instancie o esquema ValidatorjavascriptCopyEdit
      var TsomSchemaValidator = new sn_tsom_core.TsomSchemaValidator();
      
    2. Execute uma verificação de validação booliana
      if (!TsomSchemaValidator.isValidJson(target_json)) {
          gs.error('Invalid JSON: ' + JSON.stringify(target_json));
          return;
      }
      
    3. Execute uma Verificação de validação detalhada
      let result = TsomSchemaValidator.checkJsonValidation(target_json);
      if (!result.valid) {
          gs.error('Invalid JSON: ' + JSON.stringify(result, null, 2));
          return;
      }
      

    Saída de exemplo

    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
    }