使用文件夹在 Amazon S3 控制台中组织对象 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用文件夹在 Amazon S3 控制台中组织对象

在 Amazon S3 中,存储桶和对象是主要资源,并且对象存储在存储桶中。Amazon S3 具有扁平结构,而不是类似于您在文件系统中看到的层次结构。不过,为了实现组织简易性,Amazon S3 控制台支持将文件夹概念作为对象分组手段。它通过为对象(即名称以通用字符串开头的对象)使用共享名称前缀来实现这一点。对象名称也称为键名称

例如,您可以在控制台中创建名为 photos 的文件夹,并在其中存储名为 myphoto.jpg 的对象。随后,将使用键名 photos/myphoto.jpg 存储对象,其中 photos/ 为前缀。

以下是另外两个示例:

  • 如果您的存储桶中有三个对象:logs/date1.txtlogs/date2.txtlogs/date3.txt,则控制台会显示名为 logs 的文件夹。如果您在控制台中打开该文件夹,将看到三个对象:date1.txtdate2.txtdate3.txt

  • 如果您有名为 photos/2017/example.jpg 的对象,则控制台会显示名为 photos 的文件夹,其中包含文件夹 2017。文件夹 2017 将包含对象 example.jpg

文件夹中可以有文件夹,但存储桶中不能有存储桶。可以直接将对象上传和复制到一个文件夹中。可以创建和删除文件夹以及将文件夹设为公用,但不能对文件夹进行重命名。可以将对象从一个文件夹复制至另一个文件夹。

重要

对于将正斜杠 ("/") 字符作为键名称中的最后一个(尾部)字符的所有对象(例如 examplekeyname/),Amazon S3 控制台将其视为文件夹。您无法使用 Amazon S3 控制台上传键名称中有尾部“/”字符的对象。但是,通过使用 Amazon CLI、Amazon 开发工具包或 REST API,您可以利用 Amazon S3 API 上传名称中有尾部“/”的对象。

名称中有尾部“/”的对象显示为 Amazon S3 控制台中的文件夹。Amazon S3 控制台不为此类对象显示内容和元数据。当使用控制台复制名称中有尾部“/”的对象时,将在目标位置创建一个新文件夹,但不会复制对象的数据和元数据。

创建文件夹

本部分介绍如何使用 Amazon S3 控制台创建文件夹。

重要

如果存储桶策略阻止在没有加密、标签、元数据或访问控制列表 (ACL) 被授权者的情况下将对象上传到此存储桶,则您将无法使用此配置创建文件夹。请改为上传空文件夹并在上传配置中指定这些设置。

如何创建文件夹

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Buckets (存储桶) 列表中,选择要在其中创建文件夹的存储桶的名称。

  3. 选择 Create folder

  4. 输入文件夹的名称(例如,favorite-pics)。然后选择 Create folder(创建文件夹)。

将文件夹设为公用

我们建议禁止所有对 Amazon S3 文件夹和存储桶的公有访问,除非您特别需要公有文件夹或存储桶。当您将文件夹设为公有时,Internet 上的任何人都可以查看该文件夹中分组的所有对象。

在 Amazon S3 控制台中,您可以将文件夹设为公有。您还可以通过创建存储桶策略来将文件夹设为公有,该策略通过前缀限制访问。有关更多信息,请参阅 Amazon S3 中的 Identity and Access Management

警告

在 Amazon S3 控制台中将文件夹设为公有后,就不能再将其设为私有。而是必须对公有文件夹中的每个单独的对象设置权限,以使对象不具备公有访问。有关更多信息,请参阅 配置 ACL

删除文件夹

本节介绍如何使用 Amazon S3 控制台从 S3 存储桶中删除文件夹。

有关 Amazon S3 功能和定价的信息,请参阅 Amazon S3

从 S3 存储桶中删除文件夹

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Buckets (存储桶) 列表中,选择要从中删除文件夹的存储桶的名称。

  3. Objects(对象)列表中,选中您要删除的文件夹和对象旁的复选框。

  4. 选择 Delete

  5. Delete objects (删除对象) 页面上,验证是否已列出选择删除的文件夹的名称。

  6. Delete objects(删除对象)框中,输入 delete,然后选择 Delete objects(删除对象)。

警告

此操作将删除所有指定的对象。删除文件夹时,请等待删除操作完成,然后再将新对象添加到文件夹。否则,新对象也可能会被删除。