调用getmetadata时禁用自动主题创建

k3bvogb1  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(349)

我用合流果敢为我的Kafka客户。我用 AdminClient 在kafka集群中创建/删除/获取主题。这是我要初始化的代码 AdminClient ```
adminClient, err := kafka.NewAdminClient(&kafka.ConfigMap{
"bootstrap.servers": 127.0.0.1:9092,
})

之后,我使用这个类创建并获取kafka集群中的所有主题。以下是创建主题的代码:

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

results, err := adminClient.CreateTopics(
ctx,
[]kafka.TopicSpecification{{
Topic: topic,
NumPartitions: numPartitions,
ReplicationFactor: replicationFactor}},
kafka.SetAdminOperationTimeout(TimeOut),
)

之后,我又得到了主题信息:

result, err := adminClient.GetMetadata(&topic, false, 1000)

问题是:如果我得到一个以前不存在的主题,Kafka会自动创建这个主题。这是我不想要的行为。请告诉我怎么修这个。
zqry0prt

zqry0prt1#

要禁用自动创建主题,应该更新代理配置以 auto.create.topics.enable 作为 false . 请看一下文档或本页

相关问题