前言
应用场景是ekuiper监测消息总线,有满足要求的数据,就把数据插入到redis,通过redis跟后台系统做解耦
edgex:2.1 jakarta
ekuiper镜像版本:lfedge/ekuiper:1.4.3
ekuiper源码版本:1.4.3
ekuiper源码地址:https://github.com/lf-edge/ekuiper
1、编译源码,生成Redis.so
到github下载源码,
在源码根目录下敲命令,生成Redis.so文件
go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Redis.so extensions/sinks/redis/redis.go
注:注意你的编译环境go版本和docker容器内的go版本是否一致
2、将Redis.so文件拷贝到ekuiper plugins/sinks 路径下
docker cp Redis.so edgex-kuiper:/bin/bash 拷贝到容器
docker exec -it [containerid] /bin/bash
cp ./Redis.so /go/kuiper/plugins/sinks
cp ./Redis.so /go/kuiper/_build/kuiper-1.4.3-linux-amd64/plugins/sinks/
ls
注:这个需要拷贝 Redis.so 的路径有两个,我也被搞糊涂了,测试了好多次,干脆就两个一起拷贝了,而且还遇到过/go/kuiper/plugins 下面的sinks不是文件夹,需要删除然后重建sinks文件夹
3、新建流、规则
4、在redis 查看数据