TSOM 스키마 검사기를 사용하여 JSON 페이로드 확인
데이터를 임포트하기 전에 TsomSchemaValidator 유틸리티 클래스를 사용하여 TSOM 스키마에 대해 JSON 페이로드를 확인합니다. 이를 통해 오류를 조기에 식별하고, ETL 오류를 줄이고, 데이터 품질을 확인할 수 있습니다.
이 확인 도구를 사용하여 임포트 세트를 생성하기 전에 JSON 페이로드가 장치, 논리적 연결 및 토폴로지와 같은 통신 객체에 대해 예상되는 스키마를 준수하는지 확인합니다. 이 사전 유효성 검사 단계는 스키마 불일치 오류를 방지하고 디버깅을 개선하는 데 도움이 됩니다.
지원되는 스키마 유형
유효성 검사기는 다양한 통신 데이터 구조에 대해 여러 스키마 유형을 지원합니다.
- 논리 복합 - 구성요소 그룹화 표시: 장비, PDU, 팬 선반
- 장치 - 장비 및 포함된 구성요소
- 논리적 연결 - 네트워크 인터페이스 간 연결
- 포트 관계 - 네트워크 인터페이스 간의 관계: 물리적, 논리적, 지연
- 논리적 연결 관계 - 논리적 연결 간의 관계
- 토폴로지 - 네트워크 토폴로지
클래스 구조
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'
};
단계
- 스키마 유효성 검사기 인스턴스화javascriptCopyEdit
var TsomSchemaValidator = new sn_tsom_core.TsomSchemaValidator(); - 부울 유효성 검사 실행
if (!TsomSchemaValidator.isValidJson(target_json)) { gs.error('Invalid JSON: ' + JSON.stringify(target_json)); return; } - 상세 확인 확인 실행
let result = TsomSchemaValidator.checkJsonValidation(target_json); if (!result.valid) { gs.error('Invalid JSON: ' + JSON.stringify(result, null, 2)); return; }
예제 출력
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
}