4. Device Connector Frameworkに含まれる基本エレメント¶
Device Connector Frameworkには、パイプラインを作成するための基本的なエレメントが付属しています。
4.1. FileSinkElement (file-sink
)¶
指定されたパスのファイルに、受け取ったメッセージを書き出します。
- エレメントの種類
sink
- 前のエレメントから受信するポートの数
1
- 受信ポートでの受信形式
任意(受け取ったデータをそのままファイルに書き出します)
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
path |
文字列 |
出力先のファイルパス |
create |
true/false |
trueの場合、出力先のファイルがない場合は作成する。デフォルトは false |
separator |
文字列 |
メッセージ出力ごとに挿入するテキスト。デフォルトは空 |
flush_size |
整数 |
入力をフラッシュするまでにバッファにためるデータ量(バイト)。デフォルトは0 |
4.2. FileSrcElement (file-src
)¶
指定されたパスのファイルを読み込み、内容をメッセージとして送出します。
- エレメントの種類
src
- 次のエレメントに送信するポートの数
1
- 送信ポートでの送信形式
MIMEタイプ "application/octet-stream"
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
path |
文字列 |
読み取るファイルのパス |
4.3. NullSinkElement (null-sink
)¶
メッセージを受け取りますが、それを何にも使わずに破棄します。
- エレメントの種類
sink
- 前のエレメントから受信するポートの数
1
- 受信ポートでの受信形式
任意
エレメント独自の設定項目はありません。
4.4. PrintLogFilterElement (print-log-filter
)¶
受け取ったメッセージの数とサイズの情報をログとして出力します。 ログの出力先としてデバイスコネクターのログまたは標準エラーを選択できます。
- エレメントの種類
filter
- 前のエレメントから受信するポートの数
1
- 次のエレメントに送信するポートの数
1
- 受信ポートでの受信形式
任意
- 送信ポートでの送信形式
任意(受け取ったメッセージをそのまま送信ポートに書き出します)
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
interval_ms |
小数 |
ログを出力するミリ秒単位の周期(例:1000) 例えば「1000」を指定すると、受け取ったメッセージ数と合計サイズを、1000ミリ秒ごとにログとして出力します。 |
tag |
string |
ログを識別できるように各行の先頭に出力されるタグ。
[connector1] 100 msgs, 1000 bytes
|
output |
string ( |
ログの出力先を指定します。
|
4.5. ProcessSrcElement (process-src
)¶
プロセスを起動し、起動したプロセスの標準出力をバッファサイズに収まるように区切って送出します。
- エレメントの種類
src
- 次のエレメントに送信するポートの数
1
- 送信ポートでの送信形式
MIMEタイプ "application/octet-stream"
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
program |
文字列 |
実行ファイル |
args |
文字列の配列 |
実行ファイルに渡す引数 |
command |
文字列 |
実行ファイルと引数を1文字列で指定したもの。programとargsが指定されなかった場合に使用。 |
buffer_size |
整数 |
バッファサイズ(バイト)。デフォルトは255。 |
retry |
boolean( |
実行ファイルが終了したときに再起動を行う( |
retry_interval_ms |
小数 |
実行ファイルが終了したときに再起動を行う場合、何ミリ秒後に再起動するか。 |
4.6. RepeatProcessSrcElement (repeat-process-src
)¶
プロセスを繰り返し起動し、そのプロセスの標準出力をメッセージとして送出します。1度の起動で出力された標準出力が1つのメッセージになります。
- エレメントの種類
src
- 次のエレメントに送信するポートの数
1
- 送信ポートでの送信形式
MIMEタイプ "application/octet-stream"
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
program |
文字列 |
実行ファイル |
args |
文字列の配列 |
実行ファイルに渡す引数 |
command |
文字列 |
実行ファイルと引数を1文字列で指定したもの。programとargsが指定されなかった場合に使用。 |
interval_ms |
小数 |
出力頻度をミリ秒にて指定 |
4.7. SplitByDelimiterFilterElement (split-by-delimiter-filter
)¶
受信したメッセージを、区切り文字で区切り、区切りごとにメッセージとして送出します。送出に区切り文字は含みません。
- エレメントの種類
filter
- 前のエレメントから受信するポートの数
1
- 次のエレメントに送信するポートの数
1
- 受信ポートでの受信形式
任意
- 送信ポートでの送信形式
任意(受け取ったメッセージをそのまま送信ポートに書き出します)
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
delimiter |
文字列 |
区切り文字。デフォルトは改行( |
limit_size |
整数 |
区切り文字が検出されるまでに保持できるメッセージの長さ(バイト)。デフォルトは1GiB |
4.8. SplitByFixedSizeFilterElement (split-by-fixed-size-filter
)¶
受信したメッセージを、指定された長さで区切り、区切りごとにメッセージとして送出します。
- エレメントの種類
filter
- 前のエレメントから受信するポートの数
1
- 次のエレメントに送信するポートの数
1
- 受信ポートでの受信形式
任意
- 送信ポートでの送信形式
任意(受け取ったメッセージをそのまま送信ポートに書き出します)
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
size |
整数 |
1メッセージの長さ(バイト) |
4.9. StatFilterElement (stat-filter
)¶
データを受け取った回数やサイズを確認するためのエレメントです。 メッセージを受け取り、それをそのまま送出します。受け取ったメッセージの回数とサイズを記録し、その統計情報を標準エラー出力に書き出します。
- エレメントの種類
filter
- 前のエレメントから受信するポートの数
1
- 次のエレメントに送信するポートの数
1
- 受信ポートでの受信形式
任意
- 送信ポートでの送信形式
受信ポートに入力されたデータをそのまま出力
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
interval_ms |
整数 |
出力頻度をミリ秒にて指定 |
4.10. StdoutSinkElement (stdout-sink
)¶
受け取ったメッセージを標準出力に書き出します。
- エレメントの種類
sink
- 前のエレメントから受信するポートの数
1
- 受信ポートでの受信形式
任意
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
separator |
文字列 |
メッセージ出力ごとに挿入するテキスト。デフォルトは空 |
flush_size |
整数 |
入力をフラッシュするまでにバッファにためるデータ量(バイト)。デフォルトは0 |
4.11. TeeFilterElement (tee-filter
)¶
受信したメッセージをそのまま送信ポートから送信します。 その際にメッセージを複製します。複製されたメッセージは tee-src で使用することができます。
- エレメントの種類
filter
- 前のエレメントから受信するポートの数
1
- 次のエレメントに送信するポートの数
1
- 受信ポートでの受信形式
任意
- 送信ポートでの送信形式
任意(受け取ったメッセージをそのまま送信ポートに書き出します)
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
name |
文字列 |
どの tee-src にメッセージを送るかを識別するための文字列 |
channel_capacity |
文字列 |
送出するメッセージをバッファリングできる数 |
設定例:
tasks:
- id: 1
element: text-src
conf:
text: hello
interval_ms: 1000
- id: 2
element: tee-filter
from: [[1]]
conf:
name: tee-test
- id: 3
element: tee-src
conf:
name: tee-test
- id: 4
element: file-sink
from: [[2]]
conf:
path: /var/run/intdash/string1.fifo
- id: 5
element: file-sink
from: [[3]]
conf:
path: /var/run/intdash/string2.fifo
4.12. TeeSrcElement (tee-src
)¶
tee-filter で複製されたメッセージを受け取り、それをそのまま送出します。
- エレメントの種類
src
- 次のエレメントに送信するポートの数
1
- 送信ポートでの送信形式
MIMEタイプ "application/octet-stream"
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
name |
文字列 |
どの tee-filter からのメッセージを受け取るかを識別するための文字列 |
4.13. TextSrcElement (text-src
)¶
指定されたテキストを送出します。
- エレメントの種類
src
- 次のエレメントに送信するポートの数
1
- 送信ポートでの送信形式
MIMEタイプ "application/octet-stream"
エレメント独自の設定項目は以下のとおりです。 conf:
以下に記述します。
項目 |
設定値 |
説明 |
---|---|---|
text |
文字列 |
メッセージのテキスト |
interval_ms |
整数値 |
メッセージ生成の間隔をミリ秒にて指定 |
repeat |
整数値 |
「メッセージ送出のタイミングごとに、メッセージを何回送出するか」を指定します。デフォルトは1です
例えば |