Source、Sink、UDSF Operationの登録

作成したSource、Sink、 UDSF Operationは、登録処理を行わなければ、BQLから使用することができません。

pluginディレクトリに、plugin.goを作成し、Source、Sink、 UDSF Operationの登録処理を実装します。

 

  1. 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))
    }
         

     

  2. 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を識別する名称となります。