汇流云 | Java Avro 序列化 |值中的垃圾字符

Confluent cloud | Java Avro Serialization | junk characters in value

我正在尝试使用 java 中的基本 Avro 发布器,它在示例中可用

https://github.com/confluentinc/examples/blob/5.5.1-post/clients/avro/src/main/java/io/confluent/examples/clients/basicavro/ProducerExample.java

我成功地能够在我的本地机器 (macOS) 和 GCP 中可用的机器(自我管理的融合二进制文件)中发布自我管理的融合云

同样试过它 confluent cloud

我有一个融合的云访问,我正在尝试使用同一个示例,但它显示值中的垃圾字符。

在融合云中执行的步骤

  1. 按名称事务手动创建主题
  2. 配置文件创建时包含以下条目
  3. 运行 java 申请通过绝对文件路径配置。
  4. 我能够看到架构也在汇合云中设置。

你们能帮我看看这里缺少什么吗。

您的数据正确; Confluent Cloud 消息查看器目前(2020 年 9 月)不支持呈现 Avro 消息。

您可以使用诸如kafkacat之类的消费者来验证您的数据是否正确:

docker run --rm edenhill/kafkacat:1.6.0 \
         -X security.protocol=SASL_SSL -X sasl.mechanisms=PLAIN \
         -X ssl.ca.location=./etc/ssl/cert.pem -X api.version.request=true \
         -b ${CCLOUD_BROKER_HOST} \
         -X sasl.username="${CCLOUD_API_KEY}" \
         -X sasl.password="${CCLOUD_API_SECRET}" \
         -t your_topic \
         -C -o beginning \
         -f 'Topic %t[%p], offset: %o, Headers: %h, key: %k, payload: %S bytes: %s\n ' \
         -s avro -r https://"${CCLOUD_SCHEMA_REGISTRY_API_KEY}":"${CCLOUD_SCHEMA_REGISTRY_API_SECRET}"@${CCLOUD_SCHEMA_REGISTRY_URL}