eKuiper 实现了下面的插件,目前这些插件有的是用于描述插件开发过程的样例,有的是来自于社区开发者贡献的插件,在使用插件前,请仔细阅读相关文档。
eKuiper 插件开发者在开发过程中,可以指定元数据文件,这些元数据主要应用于以下方面:
plugins/sinks
和 plugins/sources
中的插件,如果开发者提供了相关的元数据文件,那么 eKuiper 在版本发布的时候会自动编译该插件,然后自动上传这些插件到 EMQ 的插件下载网站上: www.emqx.cn/downloads/kuiper/vx.x.x/plugins,其中 x.x.x
为版本号。请注意:由于 Golang 插件的局限性,这些自动编译出来的插件能运行在 eKuiper 官方发布的对应版本的容器中;但是对于直接下载的二进制安装包,或者用户自己编译出来的二进制包,这些下载的插件不保证可以正常运行。
名称 | 描述 | 备注 |
---|---|---|
zmq | 该插件监听 Zero Mq 消息并发送到 eKuiper 流中 | 插件样例,不可用于生产环境 |
random | 该插件按照指定模式生成消息 | 插件样例,不可用于生产环境 |
source 的大部分属性用户通过对应的配置文件指定,用户无法在创建流的过程中对其进行配置。插件开发者提供的元数据文件中,只需指定以下部分的内容。
该部分内容定义了插件用到了哪些库依赖 (格式为 github.com/x/y@version
),在插件的编译过程中,会读取该信息,将相关的库依赖加入到项目的 go.mod
中,该配置项内容为字符串数组。
trial:表示插件是否 为 beta 测试阶段
author
这部分包含了插件的作者信息,插件开发者可以视情况提供这些信息,这部分信息会被展示在管理控制台的插件信息列表上。
website:公司网站地址
helpUrl
该插件的帮助文件地址,控制台会根据语言的支持情况,链接到对应的帮助文档中。
zh_CN:中文文档帮助地址
description
该插件的简单描述,控制台支持多种语言。
该插件所支持的属性列表,以及每个属性相关的配置。
true
, 表示用户可以提供该字段的值;type:字段类型;该字段必须提供;
values:如果控件类型为 list-box
或者 radio
,该字段必须提供;
以下为样例元数据文件。
{
"libs": [""],
"about": {
"trial": false,
"author": {
"name": "",
"email": "",
"company": "",
"website": ""
},
"helpUrl": {
"en_US": "",
"zh_CN": ""
},
"description": {
"en_US": "",
"zh_CN": ""
}
},
"properties": {
"default": [{
"name": "",
"default": "",
"optional": false,
"control": "",
"type": "",
"hint": {
"en_US": "",
"zh_CN": ""
},
"label": {
"en_US": "",
"zh_CN": ""
}
}, {
"name": "",
"default": [{
"name": "",
"default": "",
"optional": false,
"control": "",
"type": "",
"hint": {
"en_US": "",
"zh_CN": ""
},
"label": {
"en_US": "",
"zh_CN": ""
}
}],
"optional": false,
"control": "",
"type": "",
"hint": {
"en_US": "",
"zh_CN": ""
},
"label": {
"en_US": "",
"zh_CN": ""
}
}]
}
}
名称 | 描述 | 备注 |
---|---|---|
zmq | 该插件将分析结果发送到 Zero Mq 的主题中 | 插件样例,不能用于生产环境 |
Influxdb | 该插件将分析结果发送到 InfluxDB 中 | 由 @smart33690 提供 |
TDengine | 该插件将分析结果发送到 TDengine 中 |
元数据文件格式为 JSON,主要分成以下部分:
该部分内容定义了插件用到了哪些库依赖 (格式为 github.com/x/y@version
),在插件的编译过程中,会读取该信息,将相关的库依赖加入到项目的 go.mod
中,该配置项内容为字符串数组。
trial:表示插件是否 为 beta 测试阶段
author
这部分包含了插件的作者信息,插件开发者可以视情况提供这些信息,这部分信息会被展示在管理控制台的插件信息列表上。
* name:名字
* email:电子邮件地址
* company:公司名称
* website:公司网站地址
该插件的帮助文件地址,控制台会根据语言的支持情况,链接到对应的帮助文档中。
* en_US:英文文档帮助地址
* zh_CN:中文文档帮助地址
该插件的简单描述,控制台支持多种语言。
该插件所支持的属性列表,以及每个属性相关的配置。
true
, 表示用户可以提供该字段的值;list-box
或者 radio-button
,该字段必须提供;
以下为样例元数据文件。
{
"about": {
"trial": false,
"author": {
"name": "",
"email": "",
"company": "",
"website": ""
},
"helpUrl": {
"en_US": "",
"zh_CN": ""
},
"description": {
"en_US": "",
"zh_CN": ""
}
},
"libs": [""],
"properties": [{
"name": "",
"default": "",
"optional": false,
"control": "",
"type": "",
"hint": {
"en_US": "",
"zh_CN": ""
},
"label": {
"en_US": "",
"zh_CN": ""
}
}]
}
名称 | 描述 | 备注 |
---|---|---|
echo | 原样输出参数值 | 插件样例,不可用于生产环境 |
countPlusOne | 输出参数长度加一的值 | 插件样例,不可用于生产环境 |
accumulateWordCount | 函数统计一共有多少个单词 | 插件样例,不可用于生产环境 |
resize | 创建具有新尺寸(宽度,高度)的缩放图像。如果 width 或 height 设置为0,则将其设置为长宽比保留值 | 插件样例,不可用于生产环境 |
thumbnail | 将保留宽高比的图像缩小到最大尺寸( maxWidth,maxHeight)。 | 插件样例,不可用于生产环境 |
eKuiper 具有许多内置函数,可以对数据执行计算。(具体文档参考 https://github.com/lf-edge/ekuiper/blob/master/docs/zh_CN/sqls/built-in_functions.md)
元数据文件格式为 JSON,主要分成以下部分:
trial:表示插件是否 为 beta 测试阶段
author
这部分包含了插件的作者信息,插件开发者可以视情况提供这些信息,这部分信息会被展示在管理控制台的插件信息列表上。
* name:名字
* email:电子邮件地址
* company:公司名称
* website:公司网站地址
该插件的帮助文件地址,控制台会根据语言的支持情况,链接到对应的帮助文档中。
* en_US:英文文档帮助地址
* zh_CN:中文文档帮助地址
该插件的简单描述,控制台支持多种语言。
以下为样例元数据文件。
{
"about": {
"trial":false,
"author": {
"name": "",
"email": "",
"company": "",
"website": ""
},
"helpUrl": {
"en_US": "",
"zh_CN": ""
},
"description": {
"en_US": "",
"zh_CN": ""
}
},
"functions": [{
"name": "",
"example": "",
"hint": {
"en_US": "",
"zh_CN": ""
}
}]
}