-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell_script_data_flow_detailed.drawio.xml
66 lines (59 loc) · 2.96 KB
/
shell_script_data_flow_detailed.drawio.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<mxfile host="app.diagrams.net">
<diagram name="Shell Script Data Flow with Details">
<mxGraphModel dx="1000" dy="600" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="800" pageHeight="600" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- Start Block -->
<mxCell id="2" value="Shell Script (Start)
Initializes variables and file names" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFCC00;" vertex="1" parent="1">
<mxGeometry x="50" y="20" width="180" height="80" as="geometry" />
</mxCell>
<!-- wget Block -->
<mxCell id="3" value="Fetch Device Data with wget
Downloads device data from server
Output: all_devices.json" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#99CCFF;" vertex="1" parent="1">
<mxGeometry x="50" y="130" width="200" height="80" as="geometry" />
</mxCell>
<!-- jq Processing Block -->
<mxCell id="4" value="Process JSON Data with jq
Filters data into multiple output files:
- last-24-hours.json
- last-24-hours-air.json
- last-24-hours-radiation.json" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#99FF99;" vertex="1" parent="1">
<mxGeometry x="50" y="240" width="220" height="100" as="geometry" />
</mxCell>
<!-- DuckDB Import Block -->
<mxCell id="5" value="Store Data in DuckDB
Imports JSON files into 'measurements' table" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FF9999;" vertex="1" parent="1">
<mxGeometry x="50" y="360" width="220" height="80" as="geometry" />
</mxCell>
<!-- Optional Export Block -->
<mxCell id="6" value="Export Data (Optional)
Saves processed data to desired format" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#CCCCFF;" vertex="1" parent="1">
<mxGeometry x="50" y="470" width="180" height="80" as="geometry" />
</mxCell>
<!-- End Block -->
<mxCell id="7" value="Shell Script (End)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFCC00;" vertex="1" parent="1">
<mxGeometry x="50" y="580" width="140" height="60" as="geometry" />
</mxCell>
<!-- Arrows -->
<mxCell id="8" edge="1" source="2" target="3" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9" edge="1" source="3" target="4" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="10" edge="1" source="4" target="5" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="11" edge="1" source="5" target="6" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="12" edge="1" source="6" target="7" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>