You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,15 @@
1
1
# Arduino AWS S3 CSV exporter
2
2
3
3
This project provides a way to extract time series samples from Arduino cloud, publishing to a S3 destination bucket.
4
-
Data are extracted at the given resolution via a scheduled Lambda function. Then samples are stored in CSV files and saved to S3.
4
+
Data are extracted at the given resolution via a scheduled Lambda function. Samples are stored in CSV files and saved to S3.
5
5
By default, data extraction is performed every hour (configurable), extracting samples aggregated at 5min resolution (configurable).
6
-
Aggregation is performed as average over aggregation period.
7
-
Non numeric values like strings are sampled at the given resolution.
6
+
Aggregation is performed as average over aggregation period. Non numeric values like strings are sampled at the given resolution.
8
7
9
8
## Architecture
10
9
11
-
S3 exporter is based on a Go lambda function triggered by periodic event from EventBridge.
12
-
Job is configured to extract samples for a 60min time window with the default resolution of 5min.
10
+
S3 exporter is based on a GO Lambda function triggered by periodic event from EventBridge.
11
+
Function is triggered at a fixed rate (by default, 1 hour), starting from the deployment time.
12
+
Rate also define the time extraction window. So, with a 1 hour scheduling, one hour of data are extracted.
13
13
One file is created per execution and contains all samples for selected things. Time series samples are exported at UTC timezone.
14
14
By default, all Arduino things present in the account are exported: it is possible to filter them via [tags](#tag-filtering).
15
15
@@ -29,6 +29,9 @@ Files are organized by date and files of the same day are grouped.
29
29
<bucket>:2024-09-04/2024-09-04-12-00.csv
30
30
```
31
31
32
+
Data extraction is aligned with function execution time.
33
+
It is possible to align data extracted with extraction time window (for example, export last complete hour) by configuring `/arduino/s3-exporter/{stack-name}/iot/align_with_time_window` property.
34
+
32
35
## Deployment via Cloud Formation Template
33
36
34
37
It is possible to deploy required resources via [cloud formation template](deployment/cloud-formation-template/deployment.yaml)
@@ -74,11 +77,11 @@ These parameters are filled by CFT at stack creation time and can be adjusted la
74
77
| /arduino/s3-exporter/{stack-name}/iot/org-id | (optional) organization id |
It is possible to compress (with gzip) files before uploading to S3. To enable compression, add ENABLE_COMPRESSION env variable to lambda configuration (with value true/false).
0 commit comments