【问题标题】:Posting avro serialised data using kafka-rest proxy使用 kafka-rest 代理发布 avro 序列化数据
【发布时间】:2019-02-08 11:27:41
【问题描述】:

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

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

【问题讨论】:

    标签: android avro kafka-rest


    【解决方案1】:

    请分享您的帖子数据。

    我通常这样做是为了通过 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
                }
            }           
        ]
    }'
    

    【讨论】:

    • 如果我们必须手动输入数据,这很好用。但我的问题是我必须使用字段作为“名称”:{“字符串”:“玛丽亚”}。我没有任何转换器这样的操作。另外的问题是我必须发送一个记录数组。
    猜你喜欢
    • 2020-08-26
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-05-03
    • 1970-01-01
    • 2020-07-06
    • 2021-11-15
    • 2019-12-04
    相关资源
    最近更新 更多