如何在使用 node-rdkafka 创建新主题时设置主题级别配置?

问题描述

我一直在使用 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' 参数中传递的所有键值对必须是字符串类型。