问题描述
我正在 confluent.cloud(Kafka) 中创建弹性接收器连接器。在这里,如果我使用转换,则它不起作用。 confluent.cloud(kafka) 会支持转换吗?
下面是我的脚本,
{
"name": "ElasticConnectorTest5","config": {
"topics": "enterprise.contact6.model","input.data.format": "AVRO","connector.class": "ElasticsearchSink","name": "ElasticConnectorTest5","kafka.api.key": "xxxxxxxxxxxxx","kafka.api.secret": "xxxxxxxxxxxxxxxxxx","connection.url": "url","connection.username": "**********","connection.password": "*********","type.name": "_doc","key.ignore": "false","schema.ignore": "true","tasks.max": "1","errors.tolerance": "all","errors.log.enable": "true","errors.log.include.messages": "true","behavior.on.malformed.documents": "warn","transforms": "InsertMetadata,IndexName","transforms.InsertMetadata.type": "org.apache.kafka.connect.transforms.InsertField$Value","transforms.InsertMetadata.partition.field": "partition","transforms.InsertMetadata.offset.field": "offset","transforms.IndexName.type": "org.apache.kafka.connect.transforms.RegexRouter","transforms.IndexName.regex": "enterprise.(.*)","transforms.IndexName.replacement": "es.$1"
}
}
解决方法
Confluent Cloud 目前(2021 年 5 月)不支持单消息转换。
您需要使用 ksqlDB 或 Kafka Streams 之类的东西来预处理您的数据。