图像目标(Sink)
目标(Sink)用于将图片保存到指定文件夹中。
编译和部署插件
# cd $kuiper_src# go build -trimpath --buildmode=plugin -o plugins/sinks/Image.so plugins/sinks/image/image.go# cp plugins/sinks/Image.so $kuiper_install/plugins/sinks
重新启动 Kuiper 服务器以激活插件。
属性
| 属性名称 | 是否可选 | 说明 |
|---|---|---|
| path | 否 | 保存图片的文件夹名,例如 ./tmp。注意:多条 rule 路径不能重复,否则会出现彼此删除的现象。 |
| format | 否 | 文件格式,支持 jpeg 和 png。 |
| maxAge | 是 | 最长文件存储时间(小时)。默认值为72,这表示图片最多保存3天。 |
| maxCount | 是 | 存储图片的最大数量,默认值是1000,删除时间较早的图片,与maxAge是或的关系。 |
使用示例
下面示例演示接收图片并将图片保存到文件夹 /tmp 中,当图片数量超过1000张时,删除时间较早的图片;当图片保存时长超过72小时时,删除超时的图片。
{"sql": "SELECT * from demo","actions": [{"image": {"path": "/tmp","format": "png","maxCount":1000,"maxage":72}}]}
演示
下面以zmq插件为source,image插件为sink,将zmq接受到的图片保存在image指定的文件夹中。
curl http://127.0.0.1:9081/streams -X POST -d '{"sql":"create stream s(image bytea)WITH(DATASOURCE = \"\",FORMAT=\"binary\", TYPE=\"zmq\");"}'curl http://127.0.0.1:9081/rules -X POST -d '{"id":"r","sql":"SELECT * FROM s","actions":[{"image":{"path":"./tmp","format":"png"}}]}'
