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: content/arduino-cloud/09.business/02.aws-s3-exporter/content.md
+96-2Lines changed: 96 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,105 @@ author: 'Taddy Ho Chung'
11
11
software:
12
12
- iot-cloud
13
13
- aws-lambda
14
+
- go
14
15
---
15
16
16
17
## Overview
17
18
18
-
This project provides a method to extract time series data from the Arduino Cloud and publish it to an S3 destination bucket. Data is extracted at a specified resolution through a scheduled Lambda function. The samples are stored in CSV files and uploaded to S3.
19
+
The **Arduino AWS S3 CSV Exporter** is designed to extract time series data from **Arduino Cloud** and publish it to an **AWS S3**bucket. The data extraction is managed by a scheduled AWS Lambda function that operates at configurable intervals, with samples aggregated based on the user’s preference. Data is stored in CSV format and uploaded to S3, providing a structured way to manage and store data.
19
20
20
-
By default, data extraction occurs every hour (this interval is configurable), with samples aggregated at a 5-minute resolution (also configurable). Aggregation is performed as an average over the aggregation period. Non-numeric values, such as strings, are sampled based on the defined resolution.
21
+
## Goals
21
22
23
+
* Understand the functionality of the Arduino AWS S3 CSV Exporter
24
+
* Learn how to configure and deploy the Lambda function for data extraction
25
+
* Set up filtering and resolution options for optimized data aggregation
26
+
* Get started with configuring the exporter using CloudFormation
27
+
28
+
## Required Software
29
+
30
+
*[Arduino Cloud](https://cloud.arduino.cc/). If you do not have an account, you can create one for free inside [cloud.arduino.cc](https://cloud.arduino.cc/home/?get-started=true).
31
+
*[AWS CLI](https://aws.amazon.com/cli/)
32
+
*[Go Programming Language](https://go.dev/) (version 1.22 or higher)
33
+
34
+
## Deployment Using CloudFormation Template
35
+
36
+
The exporter setup involves deploying resources using a CloudFormation template. Ensure your AWS account has permissions for:
* Parameter management in SSM (policy: `AmazonSSMFullAccess`)
44
+
45
+
### Setting Up
46
+
47
+
Get the [Lambda binaries](https://github.com/arduino/aws-s3-integration/releases) (`.zip` file) and the [CloudFormation template](https://github.com/arduino/aws-s3-integration/releases) (`.yaml` file).
48
+
49
+
Upload the binaries and the template to an accessible S3 bucket. Note the object URL for use in the stack creation process.
50
+
51
+
Use the CloudFormation console to create a new stack, entering the required parameters:
52
+
53
+
-**Mandatory:** Arduino API key and secret, the S3 bucket for code, and the destination S3 bucket.
54
+
-**Optional:** Tag filter, organization ID, and data resolution settings.
55
+
56
+
## Configuration Parameters
57
+
58
+
Below are the supported configuration parameters that are editable in the AWS Parameter Store. These parameters are pre-filled during stack creation but can be modified later:
0 commit comments