Seeking opinions: best practice to upload images to S3 from security camera(s)

I started a security camera project, with the goal to upload images to S3 and add metadata to DynamoDB. A UI would be accessed via architecture setup with AWS Amplify (not accessing the camera directly).

In a previous successful version, I setup a couple of Pis directly with an AWS user, accessing AWS CLI to upload images. This was super cool at the time, smells bad with more experience, especially when it comes to a project I’m sharing. :slight_smile: Thanks for being a part of making this better already!

What would you recommend in regards to the best practice in sending a ton of images to S3 and entries to DynamoDB?

AWS IoT seems like a potentially good fit. Each camera has its own certificate for access not really specific to an IAM user (cool). There’s a great Balena tutorial here for that.

I might be missing a piece to the puzzle though. Sending large images over MQTT seems odd, plus requires more effort to un-base64 file data as I was Googling here. I read somewhere else in a 2015 post that it could also cost more to send lots of photo data.

I’m wondering if I could use IoT cert info to access AWS API Gateway or something. I just haven’t used it a lot yet other than an Amazon Dashboard button that triggered inspirational messages in slack…

What are your thoughts?

EDIT: this looks interesting.

EDIT: more docs

EDIT: I’m revisiting AWS IoT and it gets better as I dig.

1 Like

Hello, we don’t have any recommended best practices for that.
The first documentation link you sent seems perfectly fine.