使用kafka-rest代理发布avro序列化数据

时间:2019-02-08 11:27:42

标签: android avro kafka-rest

我正在尝试在kafka主题上发布一些数据,该数据的avro模式包含联合类型。我正在android上使用kafka-rest代理来生成消息。

鉴于数据包含联合类型;从pojo到json转换器似乎都不起作用。

1 个答案:

答案 0 :(得分:0)

请分享您的帖子数据。

我通常这样做是为了通过REST向Kafka Avro生成数据。

  

1)如果您没有架构ID:

curl --request POST \
      --url http://MYKAFKARESTAPI/topics/MYTOPICNAME \
      --header 'accept: application/vnd.kafka.v2+json' \
      --header 'content-type: application/vnd.kafka.avro.v2+json' \
      --data '{
    "value_schema": "{\"type\": \"record\", \"name\": \"User\", \"fields\": [{\"name\": \"name\", \"type\": \"string\"},{\"name\": \"age\", \"type\": \"int\"}]}",
    "records": [
        {
            "value": {
                "name": "Maria",
                "age": 10
            }
        },
        {
            "value": {
                "name": "Jorge",
                "age": 11
            }
        }   
    ]
}'
  

如果您已经具有架构ID:

curl --request POST \
  --url http://MYKAFKARESTAPI/topics/MYTOPICNAME \
  --header 'accept: application/vnd.kafka.v2+json' \
  --header 'content-type: application/vnd.kafka.avro.v2+json' \
  --data '{
    "value_schema_id": 24,
    "records": [
        {
            "value": {
                "name": "Maria",
                "age": 10
            }
        },
        {
            "value": {
                "name": "Jorge",
                "age": 11
            }
        }           
    ]
}'