Amazon s3:如何在每个新用户名之后命名一个新文件夹?

Posted

技术标签:

【中文标题】Amazon s3:如何在每个新用户名之后命名一个新文件夹?【英文标题】:Amazon s3: How can I name a new folder after each new username? 【发布时间】:2018-10-10 17:29:42 【问题描述】:

我正在创建一个简单的 Instagram 类型的社交媒体应用程序,专门用于使用 javascript 和 node.js 共享图像。我将新用户信息(名称、用户名、密码)存储在 mysql 数据库中,并将图像保存在 S3 存储桶中。

我想为每个新用户创建一个新文件夹,并以用户名命名文件夹。有没有人对我如何做到这一点有任何提示?

【问题讨论】:

提示如何操作?使用 Amazon Javascript SDK 创建存储桶并将图像上传到其中。这是他们网站上的一个例子:docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/…。如果您尝试过一些代码,我们可能会帮助您解决更具体的问题。 另外,根据您的用户名的创建方式,请注意characters to use for the object key 的建议(向下滚动到“可能需要特殊处理的字符”和“要避免的字符” )。 【参考方案1】:

文件夹实际上并不存在于 Amazon S3 中。相反,每个对象的名称(“键”)包括对象的完整路径

例如,john/ 文件夹中的image.png 实际上只是一个名为john/image.png 的对象。

因此,只要将对象存储在该路径中,就会自动创建文件夹。当路径中没有对象时(删除对象后),文件夹也会自动消失。

因此,您只需将图像存储在适当的路径中,“文件夹”就会自动出现。

提示:最好使用唯一 ID 而不是用户名来命名“文件夹”。这是因为用户将来可能希望更改用户名,如果对象以用户名命名,则这是不可能的。使用 唯一 id 可以避免这个问题。 (同样,您应该在数据库表中使用唯一 ID,而不是在用户名上进行索引和连接。)

【讨论】:

谢谢!您的回答帮助解决了我使用 s3 的大部分问题

以上是关于Amazon s3:如何在每个新用户名之后命名一个新文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

Amazon S3 boto:如何重命名存储桶中的文件?

如何重命名 Amazon S3 存储桶中的文件? [复制]

如何只允许特定用户访问 Amazon S3 上的内容

是否可以限制 Amazon S3 使用的带宽?

amazon s3 重命名和覆盖文件、建议和风险

您如何全文搜索 Amazon S3 存储桶?