I am looking to use S3 as data storage service for a mail system.
The idea is to allow users to upload files that serve as attachments to their emails, which are then available to download from the web-service via a link to the file hosted on S3.
The issues I am facing:
As users choose their file names, there will be collisions, so files on S3 must have uniquely generated filenames, or stored in separate folders, can users download the files with the original filename still using some API or configuration?
(example: user uploads file dog.gif, stored on bucket as A3f23_dog.gif, download link returns file as dog.gif, possibly using HTTP headers)
Do the number of files/folders contained in a single bucket (on the root) have any performance impact? Or do I need to do some distribution of files to folders etc.
Can I have the files publicly available using URLs while still NOT allow enumeration of files in the bucket? (i.e file listing)
Thanks a lot, I hope this makes sense.