我正在尝试使用Confluent kafka-avro-console-consumer,但是如何将Schema Registry的参数传递给它?

最佳答案

只是您正在寻找的猜测...

kafka-avro-console-consumer --topic topicX --bootstrap-server kafka:9092 \
    --property schema.registry.url="http://schema-registry:8081"


不可以,您不能指定架构版本。该ID直接从主题中的Avro数据中使用。主题名称映射到主题名称。

使用--property print.key=true查看Kafka消息密钥。这是常规控制台使用者的一般属性。

这些是avro-console-consumer脚本中唯一的附加选项,这意味着除了kafka-consumer-consumer中已经定义的选项之外,您只能提供--formatter--property schema.registry.url,并且不能提供其他任何特定于Schema Registry的参数(无论这些参数是什么)

for OPTION in "$@"
do
  case $OPTION in
    --formatter)
      DEFAULT_AVRO_FORMATTER=""
      ;;
    --*)
      ;;
    *)
      PROPERTY=$OPTION
      case $PROPERTY in
        schema.registry.url*)
          DEFAULT_SCHEMA_REGISTRY_URL=""
        ;;
      esac
      ;;
    esac
done

关于apache-kafka - 使用Kafka Avro Console Consumer时如何为特定的Schema注册表传递参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49927747/

10-16 17:18