如何从浏览器在 s3 中创建新的“文件夹”

基本上我有一个 PHP crud 系统。当我添加新的 php 记录时,我还想让 API 发布到存储桶以创建一个新文件夹,并以某种方式将该新文件夹与该记录相关联。这样,当我搜索该记录时,我可以从该特定文件夹中列出该记录的对象。我如何创建这个文件夹?


慕标琳琳
浏览 263回答 1
1回答

智慧大石

您不需要创建文件夹。文件夹实际上并不存在于 Amazon S3 中。相反,Key对象的文件名 ( )包含完整路径,包括对象的文件名。这意味着您可以复制这样的文件,即使文件夹不存在:aws s3 cp foo.txt s3://my-bucket/one/two/foo.txt为了使东西“看起来”像一个普通的文件系统,Amazon S3 管理控制台将显示one和two为文件夹,但它们实际上并不存在。事实上,如果你运行这个命令:aws s3 rm s3://my-bucket/one/two/foo.txt这不仅会删除对象,而且“文件夹”也会消失,因为它们从一开始就不存在。管理控制台还可以“创建”一个文件夹,但它实际上只是创建一个带有文件夹名称(包括完整路径)的零长度对象。这允许“空文件夹”出现在控制台中(即使它不存在)。因此,如果您的应用程序希望将“文件夹”与记录相关联,它只需要将路径与记录相关联。需要实际创建文件夹。然后,以该路径作为前缀创建文件,它们将显示在文件夹中,但实际情况是它们的文件名 ( Key) 包括路径和文件名。您的应用程序可以调用 S3 并请求给定前缀的对象列表,并且只会返回该“文件夹”(前缀)中的对象。
打开App,查看更多内容
随时随地看视频慕课网APP