访问存储桶的方法
可以使用 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