Валидация схем#

Шаг предназначен для проверки входящих/исходящих сообщения на соответствие указанных схем либо форматов.

Поддерживается валидация следующих типов сообщений: JSON, XML и AVRO.

JSON#

Документация#

Пример:

Пример JSON-валидации входящего и исходящего сообщения (in=out):

validator: {
    name: "Json validator"
    type: "dsl"
    dsl: {
      path: "testDsl/AsIs.tr"
    }
    format: {
      input: {
        type: "json",
        schema: [
          {
            source: "file"
            path: "testSchema/json/first-schema.json"
          },
          ...
        ]
      }
      output: {
        type: "json",
        schema: [
          {
            source: "file"
            path: "testSchema/json/first-schema.json"
          },
          ...
        ]
      }
    }
    destination: ${output}
  }

XSD#

Документация#

Пример:

Пример XSD-валидации входящего и исходящего сообщения (in=out):

validator: {
    name: "XML validator"
    type: "dsl"
    dsl: {
      path: "testDsl/AsIs.tr"
    }
    format: {
      input: {
        type: "xml",
        schema: [
          {
            source: "file"
            path: "testSchema/xml/main.xsd"
          },
          ...
        ]
      }
      output: {
        type: "xml",
        schema: [
          {
            source: "file"
            path: "testSchema/xml/main.xsd"
          },
          ...
        ]
      }
    }
    destination: ${output}
  }

AVRO#

Поддерживается работа с многофайловыми схемами валидации.

Документация#

Пример:

Пример AVRO-валидации входящего и исходящего сообщения (in=out):

transformStep: {
    name: "transformation"
    type: "dsl"
    format: {
      input: json
      output: {
        type: "avro"
        schema: [{
          path: "avro/ValidTest.avsc"
        }]
      }
    }
    dsl: {
      path: "testDsl/AsIs.tr"
    }
  destination: ${destination}
}