false true false srv 127.0.0.1 = rest_port 9081 = mqtt_srv 127.0.0.1 = continue false 1 1 1 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true false false ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 true true false { "id": "rule1", "name": "窗口规则", "graph": { "nodes": { "demo": { "type": "source", "nodeType": "mqtt", "props": { "datasource": "devices/+/messages", "timestamp": "ts" } }, "watermark": { "type": "operator", "nodeType": "watermark", "props": { "emitters":["demo"], "sendWatermark":true } }, "roundfunc": { "type": "operator", "nodeType": "function", "props": { "expr": "round(temperature) as temp" } }, "window": { "type": "operator", "nodeType": "window", "props": { "type": "tumblingwindow", "unit": "ms", "size": 600 } }, "avgfunc": { "type": "operator", "nodeType": "aggfunc", "props": { "expr": "avg(temp) as avg_temp" } }, "pick" : { "type": "operator", "nodeType": "pick", "props": { "fields": ["avg_temp", "humidity", "window_end() as win"] } }, "mqtt": { "type": "sink", "nodeType": "mqtt", "props": { "server": "tcp://${mqtt_srv}:1883", "topic": "devices/result", "sendSingle": true } }, "log": { "type": "sink", "nodeType": "log", "props": {} } }, "topo": { "sources": ["demo"], "edges": { "demo": ["watermark"], "watermark": ["roundfunc"], "roundfunc": ["window"], "window": ["avgfunc"], "avgfunc": ["pick"], "pick": ["mqtt", "log"] } } }, "options": { "isEventTime": true, "lateTolerance" : 0 } } = ${srv} ${rest_port} /rules POST true false true false Rule rule1 was created Assertion.response_data true 16 ${srv} ${rest_port} /rules/rule1/status GET true false true false $.source_demo_0_records_in_total 0 true false false false true 10 , iot_data_ts.txt false false true shareMode.thread false device_id,ts,temperature,humidity devices/${device_id}/messages 0 false String 1024 {"ts":${ts},"temperature": ${temperature}, "humidity" : ${humidity}} false ${srv} ${rest_port} /rules/rule1/status GET true false true false $.source_demo_0_records_in_total 10 true false false false $.sink_mqtt_0_records_out_total 4 true false false false ${srv} ${rest_port} /rules/rule1 DELETE true false true false Rule rule1 is dropped. Assertion.response_data false 16 500 continue false 4 1 1 false true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true , graph_window_rule_result.txt false false true shareMode.group false avg_temp,humidity,win ${mqtt_srv} 1883 3.1 10 false 10 TCP false conn_ true 300 0 0 true devices/result 0 false true number of received messages 1 $.avg_temp ${avg_temp} true false false false $.humidity ${humidity} true false false false $.win ${win} true false false false