使用 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

https://github.com/confluentinc/schema-registry/blob/master/schema-serializer/src/main/java/io/confluent/kafka/serializers/AbstractKafkaSchemaSerDeConfig.java#L136