【发布时间】:2021-04-29 00:41:36
【问题描述】:
如何在节点js中将数组(有json字符串)写入Kakfa主题?
【问题讨论】:
标签: node.js arrays json apache-kafka
如何在节点js中将数组(有json字符串)写入Kakfa主题?
【问题讨论】:
标签: node.js arrays json apache-kafka
server.on('package:publish', async event => {
try {
const responses = await producer.send({
topic: process.env.TOPIC,
messages: [{
// Name of the published package as key, to make sure that we process events in order
key: event.name,
// The message value is just bytes to Kafka, so we need to serialize our JavaScript
// object to a JSON string. Other serialization methods like Avro are available.
value: JSON.stringify(array)
}]
})
console.log('Published message', { responses })
} catch (error) {
console.error('Error publishing message', error)
}
})
消息值对于 Kafka 来说只是字节,所以我们需要序列化我们的 JavaScript 对象为 JSON 字符串。其他序列化方法如 Avro 可用。
只需将您的数组数据包装为JSON.stringify(array) 并以值形式发送,
在消费者端,您可以使用 JSON.parse(message.value)
这里有一些帮助链接https://www.confluent.io/blog/getting-started-with-kafkajs/
【讨论】: