Apache kafka 阿帕奇·卡夫卡;JSON模式

Apache kafka 阿帕奇·卡夫卡;JSON模式,apache-kafka,jsonschema,confluent-kafka-python,Apache Kafka,Jsonschema,Confluent Kafka Python,我开始接触ApacheKafka(Confluent),对模式的使用有一些疑问。 首先,我对使用模式验证数据的一般理解是否正确?我对模式的理解是,当数据“生成”时,它会检查键和值是否符合预定义的概念,并相应地拆分它们 我目前的技术设置如下: Python: from confluent_kafka import Producer from config import conf import json # create producer producer = Producer(conf) pr

我开始接触ApacheKafka(Confluent),对模式的使用有一些疑问。 首先,我对使用模式验证数据的一般理解是否正确?我对模式的理解是,当数据“生成”时,它会检查键和值是否符合预定义的概念,并相应地拆分它们

我目前的技术设置如下:

Python:

from confluent_kafka import Producer
from config import conf
import json

# create producer
producer = Producer(conf)

producer.produce("datagen-topic", json.dumps({"product":"table","brand":"abc"}))
producer.flush()
在Confluent中,我为我的主题设置了一个json密钥模式:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "properties": {
    "brand": {
      "type": "string"
    },
    "product": {
      "type": "string"
    }
  },
  "required": [
    "product",
    "brand"
  ],
  "type": "object"
}
现在,当我生成数据时,Confluent中的消息只包含“Value”中的内容。键和标头为空:

{
  "product": "table",
  "brand": "abc"
}

基本上,不管我是否设置了这个模式,都没有什么区别,所以我猜它只是在我设置的时候不起作用。您能帮我判断我的思维方式有何错误,或者我的代码缺少输入吗?

合流Python库
Producer
类不会以任何方式与注册表交互,因此您的消息不会被验证

您需要使用
serializengproducer
如示例中所示-

如果需要非null键和头,则需要将它们传递给send方法