我在看Knox S3 library。在我的网络应用程序中,允许用户上传文件。我想使用亚马逊S3。
在Knox中,如何映射上传到用户的文件?假设我想知道用户上传的文件。这将存储在MongoDB中。
只是一个想法。
答案 0 :(得分:2)
要确定特定用户上传的数据,您有两种选择:
使用外部数据存储(MongoDB或任何其他数据库)并记录S3(它的密钥)上的上传对象与用户之间的关系。当新对象上传到S3时,您的应用程序逻辑将完成此数据记录。
在公共前缀下上传S3上的数据(例如,用户上传的所有文件都将放在/<user-id>/file.ext
中)并在存储桶上执行LIST请求以查找所有密钥在那个前缀下。
通常第一个选项效果最好,特别是如果您需要记录S3对象和其他实体之间的多个关系。
这些方案并非特定于将Knox用作S3客户端。它们独立于编程语言或S3库使用。