在构造S3存储桶结构时遇到了挑战。
我的申请
我有几种类型(角色)的用户,每个用户都有不同类型的PDF文档,这些文档将被上载到S3。用户将在其仪表板中看到每个文档,并且应该能够从应用程序中查看PDF(最好是通过打开一个新标签而不是下载它)。下面是一个示例:
用户角色
用户文档(用于role_a)
用户文档(用于role_b)
每个用户可以拥有零个或多个文档。
我的问题:
答案 0 :(得分:1)
最简单的结构是完全的平面存储结构:
您可以选择为每个对象添加一个用户标识符作为前缀,这对于在数据库故障的情况下进行调试或尝试重建内容很有用,但是如果您正确地引用数据库的列表,则不会有特别的性能优势。用户文件。
答案 1 :(得分:0)
没有嵌套结构这样的东西。 s3中的所有文件都存储为存储桶和密钥,其中密钥是您认为部分是目录的结构。您可以通过将一个文档存储在存储桶中(例如/foo/bar/doc.pdf)来确认这一点。然后删除该文件并查看s3中的结构。 Foo和bar将消失。
因此,您可以通过多种方式进行操作,其中一种是:
桶:mybucket
键:/role_a/document_type_a/0888a5ce.pdf