为Kafka文件接收器连接器定义唯一的名称

时间:2019-12-06 11:30:22

标签: apache-kafka apache-kafka-connect

我有一个生成XML字符串并将其发送到Kafka主题的服务,该主题比生成XML文件要好。 目前,我正在使用Kafka FileStreamSink连接器,该连接器生成具有预定义固定名称的文件。 该XML文件的文件名应根据XML内容生成,我该怎么做?

下面是我的FileStreamSink连接器配置,带有预定义的文件名。

{
    "name": "file_sink_stream_01",
    "config": {

            "connector.class": "FileStreamSink",
            "group.id": "file_sink_stream_connector",

            "tasks.max": "1",

            "key.converter": "org.apache.kafka.connect.json.JsonConverter",
            "key.converter.schemas.enable":"false",

            "value.converter": "org.apache.kafka.connect.json.JsonConverter",
            "value.converter.schemas.enable": "false",

            "topics": "stream_userid_stream",
            "file": "file.xml"

    }

}

1 个答案:

答案 0 :(得分:2)

使用文件接收器是不可能的-文件名是静态的,即使SMT也不允许您重新定义它

注意:json转换器将输出json,而不是xml

如果您绝对需要这个,可以尝试Apache Nifi