调用 GetMetadata 时禁用自动主题创建
Disable auto topic creation when calling GetMetadata
我正在为我的 Kafka 客户端使用 confluent golang。我在 kafka 集群中使用 AdminClient
到 create/delete/get 主题。这是我初始化 AdminClient
的代码
adminClient, err := kafka.NewAdminClient(&kafka.ConfigMap{
"bootstrap.servers": 127.0.0.1:9092,
})
之后,我使用这个class创建并获取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会自动创建那个话题。这是我不想要的行为。请告诉我如何解决这个问题。
我正在为我的 Kafka 客户端使用 confluent golang。我在 kafka 集群中使用 AdminClient
到 create/delete/get 主题。这是我初始化 AdminClient
adminClient, err := kafka.NewAdminClient(&kafka.ConfigMap{
"bootstrap.servers": 127.0.0.1:9092,
})
之后,我使用这个class创建并获取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会自动创建那个话题。这是我不想要的行为。请告诉我如何解决这个问题。