问题描述
我一直在使用 node-rdkafka npm 包来处理 node 和 kafka。
为了创建一个新主题,我一直在使用以下代码:
client.createtopic({ topic: topic.name,num_partitions: _.get(topic,"partitions",1),replication_factor: _.get(topic,"replicas",3) }
我需要添加主题级别 retention.ms 以覆盖在代理级别设置的默认 7 天。有没有办法使用 node-rdkafka 来做到这一点
解决方法
我找到了解决方案。 有一个对象类型的属性“config”可用于此目的:
client.createTopic({
'topic': name,'num_partitions': partitions,'replication_factor': replicas,'config': {
'retention.ms': '60000'
}
}
这会将 retention.ms 设置为 60000 毫秒。请注意,'config' 参数中传递的所有键值对必须是字符串类型。