如果我有一个包含数十万个图像的存储桶,是否可以通过它的ID搜索我想在我的网站中显示的每个图像,或者是否有更有效的方式(包括在存储桶中有多个文件夹)也许)?
我还想为每个图像提供一个唯一的哈希或类似的东西,以便在存储桶中停止重复的名称。这看起来是个好主意吗?
答案 0 :(得分:0)
您只需使用普通网址链接到每个图片。对于公共文件,网址格式为:
http://mybucket.s3.amazonaws.com/myimage.jpg
对于私人网址,您需要以以下格式生成网址(使用任何sdks都很容易):
http://mybucket.s3.amazonaws.com/myimage.jpg?AWSAccessKeyId=44CF9SAMPLEF252F707&Expires=1177363698&Signature=vjSAMPLENmGa%2ByT272YEAiv4%3D
使用唯一名称存储每个文件没有任何问题。如果在文件上设置了正确的标题,则任何下载内容仍可以具有原始名称。例如Content-Disposition: attachment; filename=myimage.jpg;
答案 1 :(得分:0)
在桶对象上并行搜索或执行操作可能会很麻烦,因为amazon按字典顺序列出所有内容(当前支持的唯一方式)。使用随机ID的问题在于,所有这些都将写入相同的块存储,并且您无法并行搜索以进行优化。
这是一篇关于性能改进的有趣文章。我将它用于我的工作,并看到高负荷的显着差异。 http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html