[英]What schema format supports Kafka REST v3?
我透露教程中的教程模式版本引用在 kafka version3 中不起作用。
另外,如果我嘗試通過 kafka-rest v2 從 cp-kafka-rest:6.2.1 而不是 cp-kafka-rest:6.1.0 發送相同的教程,我會收到同樣的結果
我得出的一個假設是 schema-registry 不依賴於 kafka-rest 版本 - 它是否正確?
教程:
https://docs.confluent.io/platform/current/tutorials/examples/clients/docs/rest-proxy.html#basic-producer-and-consumer https://docs.confluent.io/platform/current/kafka -rest/api.html#post--clusters-cluster_id-topics-topic_name-records
消息:
{
"key": {
"subject_name_strategy": "TOPIC_NAME",
"schema_id": 8,
"data": 1000
},
"value": {
"data": {
"countInfo": {
"count": 0
}
}
}
}
答案:
"Error when fetching schema version. subject = test-key, schema = [{\"type\":\"record\",\"name\":\"countInfo\",\"fields\":[{\"name\":\"count\",\"type\":\"long\"}]}]"
哦,這很熱門 感謝 OneCricketeer,答案是關於 kafka 如何處理主題和主題的。 對我來說,閱讀教程讓我很平靜;)
使用 7.1.0 版,它可以工作
關鍵模式:
{"type": "string"}
價值模式:
{
"type":"record",
"name":"countInfo",
"fields":[
{
"name":"count",
"type":"long"
}
]
}
import requests
data = {
"key": {
"data": "AAAAAA"
},
"value": {
"data": {"count": 4546}
}
}
print(data)
response = requests.post(
f"{rest_proxy}/v3/clusters/toto/topics/tata/records",
headers={"Content-Type": "application/json"},
json=data)
print(response.reason)
print(response.text)
給
{'key': {'data': 'AAAAAA'}, 'value': {'data': {'count': 4546}}}
OK
{"cluster_id":"toto","topic_name":"tata","partition_id":1,"offset":32,"timestamp":"2022-06-19T23:22:05.481Z","key":{"type":"AVRO","subject":"tata-key","schema_id":1,"schema_version":1,"size":12},"value":{"type":"AVRO","subject":"tata-value","schema_id":2,"schema_version":1,"size":7}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.