What I am trying to achieve is that I have an Arduino base which periodically uploads data to AWS IoT-Core. But I am looking for a way to store that data and make it accessible to my web application which is getting developed in the flask.

I want to store the data in a structured manner because I plan to make reports one day from all that data.

Things I looked into:

  1. I saw a way it stores the data in AWS S3 and using boto3 I can make it accessible from the file.
  2. Using lambda function to update the IoT core data to the AWS RDS MySQL but still, I was not able to find any satisfactory answer
  3. Using AWS Amplify and AWS API gateway, which again didn't meet my requirement
  4. Using API from a third-party application, which again I don't find appropriate in my use-case.

I would really like an insight and open to sugesstions as I am new to IoT part.

1 Answer 1


It depends on the type of data and what you want to do with it. I have a Raspberry Pi AWS IoT project and I'm storing data on DynamoDB. But since I need to do aggregation queries, I then feed it from there to ElasticSearch. You are more than likely going to need to use a Lambda triggered by IoT to move information around on AWS.

To view the data and generate reports, I have a Flask application that runs as an AWS Lambda / API Gateway that was setup using Zappa, which I highly recommend for a serverless deployment on small projects. Setup was really easy.

  • hey john, what I am thinking is to send it to AWS RDS MySQL or store it in .csv in the S3 bucket and call it in my Flask application Commented Sep 11, 2020 at 13:11
  • If you are running Flask on AWS (so it has VPC access), either might work depending on how much data there is and what you need to do with it. To me, the CSV solution seems a bit clunky and I'm not sure will work on S3 if you are appending data to a single file as a stream. Also check the AWS costs of both, considering, the amounts of data going in & out.
    – John S
    Commented Sep 11, 2020 at 22:37
  • So as of now what is preferred is using API gateway by AWS? Commented Sep 13, 2020 at 13:13
  • If you have a flask app, I would start with using Zappa to run it an an AWS Lambda. It takes care of setting up the API Gateway for you. You can always scale up if necessary.
    – John S
    Commented Sep 13, 2020 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.