使用Kafka Avro Console Consumer时如何传递特定Schema注册表的参数?

时间:2018-04-19 18:22:25

标签: apache-kafka avro confluent confluent-schema-registry

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

1 个答案:

答案 0 :(得分:14)

只是猜测你在寻找什么......

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,而不能提供其他选项模式注册表特定参数(无论可能是什么)

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