存储带有标签和前缀的图像以快速查询(s3 aws)

时间:2018-11-28 04:14:20

标签: amazon-web-services amazon-s3

我使用Ionic来创建一个移动应用程序,该应用程序可以拍照并可以将图像从移动设备上传到s3。我想知道如何在上传图片旁边添加前缀或标签,以帮助我快速而独特地查询。我考虑做一个前缀并创建文件夹:            年/月/日/文件名(例如:2018/11/27 / image.png) 如果2018/11/27 /文件夹中有很多图像,我认为它将查询缓慢,并且有时图像文件名不是唯一的。有什么建议吗??非常感谢。

1 个答案:

答案 0 :(得分:0)

Amazon S3是出色的存储服务,但它不是数据库。

您可以使用任意名称将对象存储在Amazon S3中,但是如果您希望快速列出/排序/查找对象,则应将对象的名称及其元数据存储在数据库中。然后,您可以查询数据库以找到感兴趣的对象。

DynamoDB是一个不错的选择,因为可以对其进行配置以保证速度。您还可以将DAX放在DynamoDB的前面,以获得更高的性能。

有了有关存储在数据库中的对象的信息,您可以坦率地为每个单独的对象命名任意的名称。许多人只是使用UUID,因为它只是一个唯一的标识符。对象名称本身不需要传达任何含义-它只是在以后需要访问该对象时用于标识该对象的Key。

但是,如果通常对对象进行成组处理(例如将每日文件分组为几个月以使用Hadoop集群进行处理),则在特定路径中定位对象很有用。它使对象可以一起处理,而不必查阅数据库。