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