apache-kafka - WSO2 SP - 具有 JSON 属性的 Kafka 源

标签 apache-kafka wso2 kafka-consumer-api kafka-producer-api wso2sp

我正在尝试使用以下代码从 Kafka 读取 JSON 数据:

@source(type = 'kafka', bootstrap.servers = 'localhost:9092', topic.list = 'TestTopic', 
group.id = 'test', threading.option = 'single.thread', @map(type = 'json'))

define stream myDataStream (json object);

但因以下错误而失败:

[2019-03-27_11-39-32_103] ERROR {org.wso2.extension.siddhi.map.json.sourcemapper.JsonSourceMapper} - Stream "myDataStream" does not have an attribute named "ABC", but the received event {"event":{"ABC":"1"}} does. Hence dropping the message. Check whether the json string is in a correct format for default mapping.



我试过添加属性
@source(type = 'kafka', bootstrap.servers = 'localhost:9092', 
topic.list = 'TestTopic', group.id = 'test', 
threading.option = 'single.thread', 
@map(type = 'json', @attributes(ABC = '$.ABC')))

语法错误:

Error at 'json' defined at stream 'myDataStream', attribute 'json' is not mapped



任何帮助将不胜感激。

最佳答案

流的语法有错误,

define stream myDataStream (ABC string);

这里的属性名称是 JSON 消息的键,在本例中为 ABC

关于apache-kafka - WSO2 SP - 具有 JSON 属性的 Kafka 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55371371/

相关文章:

apache-kafka - Kafka Connect - 无法更改以添加缺少的字段 SinkRecordField{schema=Schema{BYTES},名称 ='CreateUID',isPrimaryKey=true},

mysql - Kafka Mysql Connectorplugin.path配置

wso2 - 使用特定系统用户进行 wso2 esb 服务调用

apache-kafka - 从 Kafka 中删除 __consumer_offsets 主题

apache-kafka - 信息客户端/127.0.0.1 :48452 which had sessionid 0x15698f5ac360001 (org. apache.zookeeper.server.NIOServerCnxn 的已关闭套接字连接)

apache-kafka - @KafkaListener 并发多个主题

java - Kafka Streaming 不适用于多个实例

wso2 - 如何使用 WSO2 API 管理器将租户设置为中介中的 header

mysql - WSO2 MySQL 适配器语法错误

apache-kafka - 在 Kafka 和动态主题中关联