按文档实现sink插件,报找不到自定义的插件

按照sink插件文档实现了一个myfile的插件,使用时报无法找到。
具体如下:
1、将internal/io/file/file_sink.go等相关文件copy到plugins/sinks/目录下
2、修改package为main,并把type fileSink struct修改为myfileSink
3、修改函数:
func myfile() api.Sink {
return &myfileSink{}
4、生成so文件:go build --buildmode=plugin -o plugins/sinks/myfile.so plugins/sinks/*.go
5、建了一个规则,action定义为myfile:
{ “id”:“my_rule”,
“sql”: “SELECT * from my_stream”,
“actions”: [
{
“myfile”: {
“path”: “tmp/result.gz”,
“checkInterval”: 10000,
“fileType”: “lines”,
“format”: “json”,
“rollingInterval”: 10000,
“rollingCount”: 2,
“rollingNamePattern”: “prefix”,
“compression”:“gzip”
}
}
]
}
6、查询规则状态,报如下错误:
{
“status”: “stopped”,
“message”: “Stopped: sink myfile not found.”
}

大神帮看看是哪里用得不对呢

不用 API 安装的话,插件需要重启才能载入哦

重启过的,也不行。帮检查一下不对。

你的插件名字就叫file吗?现在内置的有file了,可能你得改个名字

插件名称是怎么顶一顶娥?是根据这个函数推导的么?
func myfile() api.Sink {
return &myfileSink{}
}

插件名称是怎么定义的?是根据这个函数推导的么?
func myfile() api.Sink {
return &myfileSink{}
}

image
查插件是有的

这个需要大写啊,go里面是大写表示 public func Myfile()