ビジュアルインターフェース
ビジュアルエディターでノードをドラッグして配置し、ワークフローを作成できます。
主な機能
SQL、クライアントイベント、組み込み関数、スキーマ、拡張機能で MQTT データフローを構築します。
SQL で受信データストリームをフィルタリング、変換、分析します。
ルール SQL を詳しく見るSELECT
payload,
now_timestamp() as processed_at
FROM "sensor/+/data"
WHERE payload.temperature > 30入力
{"device_id": "sensor-042", "temperature": 35.2, "humidity": 68}出力
{"payload": {"device_id": "sensor-042", "temperature": 35.2, "humidity": 68}, "processed_at": 1768461629}クライアントの接続、切断、サブスクライブ、アンサブスクライブ、メッセージのパブリッシュや配信をきっかけに処理を実行します。
イベントを詳しく見るclient.connectedclient.disconnectedsession.subscribedsession.unsubscribedmessage.publishmessage.deliveredmessage.ackedmessage.dropped組み込み SQL 関数で JSON の解析、値の変換、文字列の整形を行います。
関数を詳しく見るstrstr(100)戻り値'100'floatfloat('3.14e4')戻り値31400lowerlower('Hello')戻り値'hello'splitsplit('a;b;c', ';')戻り値['a', 'b', 'c']map_getmap_get("a", {"a": 1})戻り値1sha256sha256('hello')戻り値'2cf24dba...'Avro や Protobuf ペイロードのエンコード・デコードと、スキーマによる JSON の検証に対応します。
スキーマを詳しく見るmessage SensorData {
string device_id = 1;
float temperature = 2;
float humidity = 3;
int64 timestamp = 4;
}バイナリ入力
0a0a73656e736f722d30343215cdcc0c421d00008842JSON 出力
{
"device_id": "sensor-042",
"temperature": 35.2,
"humidity": 68.0,
"timestamp": 1705234567
}HTTP と gRPC を通じてカスタムロジックを組み込み、データ処理を拡張します。
拡張機能を詳しく見る// gRPC ExHook Server (Go)
func (s *HookProvider) OnMessagePublish(
ctx context.Context,
req *pb.MessagePublishRequest,
) (*pb.ValuedResponse, error) {
msg := req.メッセージ
return &pb.ValuedResponse{}, nil
}Hooks: on_client_connect, on_client_authenticate,
on_message_publish, on_message_delivered...
Languages: Go, Python, Java, Erlang組み込みの jq ツールで、複雑な JSON ペイロードをクエリー・変換します。
jq を詳しく見る式
.payload | {
id: .device_id,
readings: [.temperature, .humidity],
status: (if .temperature > 35
then "alert" else "normal" end)
}入力
{"payload": {"device_id": "sensor-042", "temperature": 35.2, "humidity": 68}}出力
{
"id": "sensor-042",
"readings": [35.2, 68],
"status": "alert"
}Flow デザイナー
ドラッグ&ドロップでデータフローを構築し、同じルールを SQL でも編集できます。
フローの例
ノードをドラッグしてフローを配置。キャンバスをドラッグして移動したり、ズーム操作で表示を調整したりできます。
ビジュアルエディターでノードをドラッグして配置し、ワークフローを作成できます。
ルールを同期したまま、ビジュアルエディターと SQL を切り替えられます。
データベース、メッセージキュー、クラウドサービスと連携できます。
デプロイ前に、シミュレーションデータや実データでワークフローをテストできます。
導入メリット
組み込みの処理ツールで独自開発を減らし、受信データに応じたアクションを実行します。
再利用可能な SQL ルールで MQTT メッセージをフィルタリング・変換・ルーティングします。
メッセージやクライアントイベントがルールに一致すると、アクションを実行します。
組み込み関数と連携機能により、独自開発の負担を減らします。
多数のデバイス接続と高スループットのメッセージ処理に対応します。
関連製品