使用 kafka-avro-console-producer 和 confluent schema registry 使用 RecordNameStrategy
Use RecordNameStrategy using kafka-avro-console-producer and confluent schema registry
使用 kafka-avro-console-producer cli
尝试以下命令时
kafka-avro-console-producer \
--broker-list <broker-list> \
--topic <topic> \
--property schema.registry.url=http://localhost:8081 \
--property value.schema.id=419
--property auto.register=false
我有这个错误
org.apache.kafka.common.errors.SerializationException: Error retrieving Avro schema {...}
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Subject 'my-topic-name-value' not found.; error code: 40401
因为我没有为我的主题使用 TopicNameStrategy,而是 RecordNameStrategy。我想指定它,请问如何找到允许设置主题名称以供 cli 使用的 属性?
注意:我,因为我发现了这个https://github.com/confluentinc/schema-registry/blob/a0a04628687a72ac6d01869d881a60fbde4177e7/avro-serializer/src/main/java/io/confluent/kafka/serializers/AbstractKafkaAvroSerDeConfig.java#L97我已经尝试了以下但没有成功
--property value.subject.name.strategy.default=io.confluent.kafka.serializers.subject.RecordNameStrategy
这有效
--property value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy
使用 kafka-avro-console-producer cli 尝试以下命令时
kafka-avro-console-producer \
--broker-list <broker-list> \
--topic <topic> \
--property schema.registry.url=http://localhost:8081 \
--property value.schema.id=419
--property auto.register=false
我有这个错误
org.apache.kafka.common.errors.SerializationException: Error retrieving Avro schema {...}
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Subject 'my-topic-name-value' not found.; error code: 40401
因为我没有为我的主题使用 TopicNameStrategy,而是 RecordNameStrategy。我想指定它,请问如何找到允许设置主题名称以供 cli 使用的 属性?
注意:我,因为我发现了这个https://github.com/confluentinc/schema-registry/blob/a0a04628687a72ac6d01869d881a60fbde4177e7/avro-serializer/src/main/java/io/confluent/kafka/serializers/AbstractKafkaAvroSerDeConfig.java#L97我已经尝试了以下但没有成功
--property value.subject.name.strategy.default=io.confluent.kafka.serializers.subject.RecordNameStrategy
这有效
--property value.subject.name.strategy=io.confluent.kafka.serializers.subject.RecordNameStrategy