SqlSource插件的使用

Ekuiper可以单独从mysql数据库查询数据,最终sink端发送到mqtt主题吗???我了解到,官方文档中是将流Stream与表Table进行连接查询。

可以啊,Sql source 插件既可以作为表也可以用作流。 Sql 源 | eKuiper 文档 在 create stream 里面 typs=sql 就行。

我是按照你说的新建stream,Type选择sql,规则是查询流,sink是输出到mqtt主题。规则正常启动没有错误,但是规则status中source_stream_0_records_in_total一直是0,没有数据发送

另外在配置mysql_config的时候,EkuiperManager中只有数据库地址和间隔时间两项,我填写mysql://root:123456@192.168.8.109/db?parseTime=true这个地址后后一直报错GetQueryGenerator mysql://root:123456@192.168.8.109/db?parseTime=true fail with error: read properties map[interval:1000 url:mysql://root:123456@192.168.8.109/db?parseTime=true] fail with error:
。我是将地址填在名字为sqlserver_config项中才显示测试成功,可以连通数据库。

manager 可能已经不太能适配了,建议直接用API定义

我按照RestApi进行操作,还是不可以。规则不报错,但是status显示sqlsource是0。还有没有更具体的例子。以下是我的config例子:PUT http://localhost:9081/metadata/sources/sql/confKeys/mysql_config {
“url”: “mysql://root:123456@192.168.0.103/db2019?parseTime=true”,
“interval”: 1000,
“internalSqlQueryCfg”: {
“indexField”: “id”,
“indexValue”: 1000,
“limit”: 10,
“table”: “test”
}
}

indexValue 1000 指的是会从 id 1000 以上开始读。你如果id是从0开始,indexValue 设置成1或者不设置就行了

{
“url”: “mysql://root:123456@192.168.0.103/db2019?parseTime=true”,
“interval”: 1000,
“internalSqlQueryCfg”: {
“indexField”: “id”,
“indexValue”: 1,
“limit”: 10,
“table”: “test”
}
}请问这个limit的值设置为10,可是却返回表中所有数据15条??

limit 只是单次的。数据流会一直运行啊,不是只拉一次就结束了