在Amazon S3 Bucket内搜索

时间:2011-03-18 03:49:25

标签: amazon-s3

如果我有一个包含数十万个图像的存储桶,是否可以通过它的ID搜索我想在我的网站中显示的每个图像,或者是否有更有效的方式(包括在存储桶中有多个文件夹)也许)?

我还想为每个图像提供一个唯一的哈希或类似的东西,以便在存储桶中停止重复的名称。这看起来是个好主意吗?

2 个答案:

答案 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;


要列出存储桶内容,您可以使用API​​ GetBucket命令。我发现使用SDKs更容易通过API进行任何访问。

答案 1 :(得分:0)

在桶对象上并行搜索或执行操作可能会很麻烦,因为amazon按字典顺序列出所有内容(当前支持的唯一方式)。使用随机ID的问题在于,所有这些都将写入相同的块存储,并且您无法并行搜索以进行优化。

这是一篇关于性能改进的有趣文章。我将它用于我的工作,并看到高负荷的显着差异。 http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html