Заранее благодарны за Вашу помощь. Это мой плохой день.
У меня есть следующий json, и я пытаюсь выяснить для него схему. К сожалению, я застрял в точке без каких-либо признаков ошибки.
Посоветуйте пожалуйста решение
{
"tables_not_to_mask": ["Table_1"],
"tables_to_mask":{
"Table_2": [
{
"column": "BinLogFilename",
"masking_type": "replace_logfilename"
},
{
"column": "ServerId",
"masking_type": "replace_server_id"
}
],
"Table_3": [
{
"column": "BinLogFilename",
"masking_type": "replace_logfilename"
},
{
"column": "ServerId",
"masking_type": "replace_server_id"
}
]
}
}
Table_1, Table_2, .. добавляются динамически. Я создал схему, которая должна проверять ввод JSON следующим образом:
- tables_not_to_mask и tables_to_mask обязательны.
- table_to_mask может иметь ноль или более таблиц
- Если есть таблица в tables_to_mask, она может иметь столбец от нуля до многих и masking_type.
- column и masking_type являются обязательными, и никто не является одиноким.
Я создал для него схему, и, к сожалению, если я удалю столбец или masking_type, схема не выдаст никаких ошибок.
{
"title": "Schema title",
"description": "Description of the schema",
"type": "object",
"properties": {
"tables_not_to_mask": {
"type": "array",
"minItems": 0,
"items": {"type": "string"}
},
"tables_to_mask": {
"type": "object",
"patternProperties": {
".*": {
"type": "array",
"minItems": 0,
"properties": {
"column": {"type": "string"},
"masking_type": {"type": "string"}
},
"required": [
"masking_type",
"column"
]
}
}
}
},
"required": [
"tables_not_to_mask",
"tables_to_mask"
]
}