簡體   English   中英

什么模式格式支持 Kafka REST v3?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM