访问存储桶的方法 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

访问存储桶的方法

可以使用 Amazon S3 控制台访问存储桶。可以使用控制台 UI 执行几乎所有存储桶操作,而不必编写任何代码。

如果您以编程方式访问存储桶,请注意 Amazon S3 支持 RESTful 架构,在该架构中,存储桶和对象是资源,各自具有唯一标识资源的资源 URI。

Amazon S3 支持虚拟托管类型和路径类型 URL 访问存储桶。由于可以使用路径类型和虚拟托管类型 URL 访问存储桶,因此,建议您使用符合 DNS 标准的存储桶名称创建存储桶。有关更多信息,请参阅 存储桶限制

注意

虚拟托管类型和路径类型请求使用 S3 点区域终端节点结构 (s3.Region),例如 https://my-bucket.s3.us-west-2.amazonaws.com。但是,一些较旧的 Amazon S3 区域也支持 S3 短划线区域终端节点 s3-Region,例如 https://my-bucket.s3-us-west-2.amazonaws.com。如果您的存储桶位于这些区域之一,您可能会在服务器访问日志或 Amazon CloudTrail 日志中看到 s3-Region 终端节点。我们建议您不要在请求中使用此终端节点结构。

虚拟托管式访问

在虚拟托管类型请求中,存储桶名称是 URL 中域名的一部分。

Amazon S3 虚拟托管类型 URL 使用以下格式:

https://bucket-name.s3.region-code.amazonaws.com/key-name

在此示例中,DOC-EXAMPLE-BUCKET1 为存储桶名称,美国西部(俄勒冈)为区域,puppy.png 为密钥名称:

https://DOC-EXAMPLE-BUCKET1.s3.us-west-2.amazonaws.com/puppy.png

有关虚拟托管类型访问的更多信息,请参阅虚拟托管类型请求

路径类型访问

在 Amazon S3 中,路径类型 URL 使用以下格式:

https://s3.region-code.amazonaws.com/bucket-name/key-name

例如,如果您在美国西部(俄勒冈)区域中创建一个名为 DOC-EXAMPLE-BUCKET1 的存储桶,并希望访问该存储桶中的 puppy.jpg 对象,则可使用以下路径类型 URL:

https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/puppy.jpg

有关更多信息,请参阅路径类型请求

重要

更新(2020 年 9 月 23 日)– 为确保客户有时间转换到虚拟托管类型 URL,我们决定推迟弃用路径类型 URL。有关更多信息,请参阅 Amazon 新闻博客中的 Amazon S3 路径弃用计划 – 案例的其余部分

通过 IPv6 访问 S3 存储桶

Amazon S3 有一组双堆栈终端节点,它们支持通过 Internet 协议版本 6 (IPv6) 和 IPv4 向 S3 存储桶发出请求。有关更多信息,请参阅 通过 IPv6 发出请求

通过 S3 访问点访问存储桶

除了直接访问存储桶之外,您还可以通过访问点访问存储桶。有关 S3 访问点功能的更多信息,请参阅使用 Amazon S3 访问点管理数据访问

S3 访问点仅支持虚拟主机式寻址。要通过访问点对存储桶进行寻址,请使用以下格式。

https://AccessPointName-AccountId.s3-accesspoint.region.amazonaws.com.
注意
  • 如果您的访问点名称包含破折号 (-) 字符,请在 URL 中包含破折号,然后在账户 ID 之前插入另一个破折号。例如,要在区域 finance-docs 中使用由账户 123456789012 拥有的名为 us-west-2 访问点 ,则相应的 URL 为 https://finance-docs-123456789012.s3-accesspoint.us-west-2.amazonaws.com

  • S3 访问点不支持通过 HTTP 进行访问,只支持通过 HTTPS 进行安全访问。

使用 S3:// 访问存储桶

某些 Amazon 服务需要使用 S3://bucket 指定 Amazon S3 存储桶。以下示例显示了正确的格式。请注意,使用此格式时,存储桶名称不包含 Amazon Web Services 区域。

S3://bucket-name/key-name

例如,以下示例使用前面的路径样式部分中描述的示例存储桶。

S3://mybucket/puppy.jpg