I want to upload pictures to the AWS s3 through the iPhone. Every user should be able to upload pictures but they must remain private for each one of them.

My question is very simple. Since I have no real experience with servers I was wondering which of the following two approaches is better. 

1) Use some kind of token vending machine system to grant the user access to the AWS s3 database to upload directly.

2) Send the picture to the EC2 Servlet and have the virtual server place it on the S3 storage.

Edit: I would also need to retrieve, should i do it directly or through the servlet?

Thanks in advance.