我想通过 Kafka Rest Proxy 生成一个 kafka 主题。我已经在架构注册表中创建了一个 JSON 架构,我希望所有消息都根据已注册的架构进行验证,如果它们与架构不匹配,则将其拒绝。
我的架构
{
"type": "object",
"properties": {
"foo": {
"type": "string",
},
"bar": {
"type": "number"
}
}
}
Run Code Online (Sandbox Code Playgroud)
该架构已正确注册并分配版本 1。然后我尝试为两者生成数据类型错误的消息foo,bar但该消息被接受。
curl --location --request POST 'http://localhost:8082/topics/test' \
--header 'Content-Type: application/vnd.kafka.jsonschema.v2+json' \
--header 'Accept: application/vnd.kafka.v2+json' \
--data-raw '{
"value_schema_id": 1,
"records": [
{
"value": {
"foo": 10,
"bar":"not a number"
}
}
]
}'
Run Code Online (Sandbox Code Playgroud)
请注意,我正在生成test具有关联模式的主题,但无论如何都会接受错误消息。我还尝试添加"value_schema_id": 1以确保有效负载中引用了架构,但错误消息仍然被接受。
但是,如果我传递 JSON 架构,因为value_schema它按预期工作
{
"value_schema": "{\"type\": \"object\",\"properties\": …Run Code Online (Sandbox Code Playgroud) jsonschema apache-kafka confluent-schema-registry confluent-rest-proxy