Source、Sink、UDSF Operationの登録
作成したSource、Sink、 UDSF Operationは、登録処理を行わなければ、BQLから使用することができません。
pluginディレクトリに、plugin.goを作成し、Source、Sink、 UDSF Operationの登録処理を実装します。
-
plugin.goを以下のように実装してください。
package plugin import ( "github.com/saison-sherpa/es-agent/sample" "gopkg.in/sensorbee/sensorbee.v0/bql" "gopkg.in/sensorbee/sensorbee.v0/bql/udf" ) func init() { bql.MustRegisterGlobalSourceCreator("sample_source", bql.SourceCreatorFunc(sample.CreateSource)) bql.MustRegisterGlobalSinkCreator("sample_sink", bql.SinkCreatorFunc(sample.CreateSink)) udf.MustRegisterGlobalUDSFCreator("sample_udsf", udf.MustConvertToUDSFCreator(sample.CreateUDSF)) }
-
Init関数のSource、Sink、UDSFを、以下に示す「Register関数」および「CreatorFunc」を使用して登録します。
Object
Register関数
CreatorFunc
Source
bql.MustRegisterGlobalSourceCreator
bql.SourceCreatorFunc
Sink
bql.MustRegisterGlobalSinkCreator
bql.SinkCreatorFunc
UDSF
udf.MustRegisterGlobalUDSFCreator
udf.MustConvertToUDSFCreator
= 備考 =Register関数の第1引数で指定した文字列は、BQLで、Source、Sink、UDSFを識別する名称となります。