Amazon s3 在Amazon S3存储桶中搜索

Amazon s3 在Amazon S3存储桶中搜索,amazon-s3,Amazon S3,如果我有一个包含数十万张图片的存储桶,那么通过它的ID搜索我想在我的站点中显示的每一张图片可以吗?或者有没有更有效的方法(包括在一个存储桶中包含多个文件夹) 我也在考虑给每个图像一个唯一的散列或类似的东西,以防止桶中重复的名称。这似乎是个好主意吗?您只需使用普通URL链接到每个图像。对于公共文件,URL的格式为: http://mybucket.s3.amazonaws.com/myimage.jpg http://mybucket.s3.amazonaws.com/myimage.jpg?A

如果我有一个包含数十万张图片的存储桶,那么通过它的ID搜索我想在我的站点中显示的每一张图片可以吗?或者有没有更有效的方法(包括在一个存储桶中包含多个文件夹)


我也在考虑给每个图像一个唯一的散列或类似的东西,以防止桶中重复的名称。这似乎是个好主意吗?

您只需使用普通URL链接到每个图像。对于公共文件,URL的格式为:

http://mybucket.s3.amazonaws.com/myimage.jpg
http://mybucket.s3.amazonaws.com/myimage.jpg?AWSAccessKeyId=44CF9SAMPLEF252F707&Expires=1177363698&Signature=vjSAMPLENmGa%2ByT272YEAiv4%3D
对于私有url,您需要以以下格式生成url(使用任何SDK都很容易):

http://mybucket.s3.amazonaws.com/myimage.jpg
http://mybucket.s3.amazonaws.com/myimage.jpg?AWSAccessKeyId=44CF9SAMPLEF252F707&Expires=1177363698&Signature=vjSAMPLENmGa%2ByT272YEAiv4%3D
用唯一的名称存储每个文件没有什么错。如果在文件上设置了正确的标题,则任何下载都可以使用原始名称。内容处置:附件;filename=myimage.jpg



要列出bucket内容,可以使用api命令。我发现使用API进行任何访问都更容易。

在bucket对象上搜索或并行执行操作可能会很痛苦,因为amazon按字典顺序列出了所有内容(目前支持的唯一方式)。使用随机ID的问题是,所有ID都将写入同一块存储,您无法并行搜索以优化

下面是一篇关于性能改进的有趣文章。我将其用于我的工作,并发现在高负载方面存在显著差异。