Nice processing flow
- File selected on front end site
- Front end sends a submit request to a lambda function with a json payload full of metadata
- Lambda does some validation on the metadata. If ok, hits s3 and requests a presigned url
- Lambda returns the presigned url to the client
- Client pushes File directly to s3 (not to web server)
- File lands on s3
- S3 triggers a sqs queue event
- Lambda processing flow is triggered from sqs message
- Lambda function pulls File from s3 and processes it (including a bunch of other logic)