1

将 avro 有效负载发布到 kafka-rest 服务时,如果 value_schema 中的字段之一使用默认值定义,并且在记录中省略此字段。似乎 kafka-rest 仍然坚持将其记录在案。这样做的正确方法是什么?

例如。

curl -X POST -H "Content-Type: application/vnd.kafka.avro.v1+json" \
  --data '{"value_schema": "{\"type\": \"record\", \"name\": \"User\", \"fields\": [{\"name\": \"name\", \"type\": \"string\"}, {\"name\":\"age\",\"type\":\"int\",\"default\":18}, {\"name\":\"id\",\"type\":\"string\"}]}", "records": [{"value": {"name": "testUser", "id": "001"}}]}' \
  "http://localhost:8082/topics/avrotest"

输出

{"error_code":42203,"message":"Conversion of JSON to Avro failed: Failed to convert JSON to Avro: Expected field name not found: age"}
4

0 回答 0