Sensible filenaming in Amazon S3 <p>I'm working on a website which is starting to generate a large volume of user-uploaded photos, which are then converted into multi thumbnails of different sizes and stored. So far, these have been stored locally but I would like start storing and serving them via Amazon S3.</p> <p>I've read Amazon's bucket and file naming rules which are clear, but I am wondering if there are other practical best practices for future maintainability.</p> <p>Until now, I've been doing this:</p> <ul> <li>User with GUID 31928 uploads image.jpg at 12-01-15 15:38:44</li> <li>Thumbnail "small" gets stored as /s/28/19/3/31928/120115153844.jpg</li> </ul> <p>... where the the path is derived from the GUID and the image filename from the timestamp. This distributes files without creating massive folders, keeps everything sufficiently unique, and makes it possible for images to be matched against a GUID even manually. It's worked well so far.</p> <p>With S3, I'll probably be serving these images from a single bucket but as the bucket cannot contain sub-folders, I'm curious as to how other people are storing large volumes of images. For example:</p> <ul> <li>hash: 2fkoer983RoerWokfw.jpg</li> <li>guid_hash: 31928_2fkoer983RoerWokfw.jpg</li> <li>guid_size_hash: 31928_s_2fkoer983RoerWokfw.jpg</li> <li>... or something else?</li> </ul> <p>Am I over-thinking this? Any experience would be appreciated, thanks.</p>