访问存储桶的方法
可以使用 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
。如果您的存储桶位于这些区域之一,您可能会在服务器访问日志或 AWS 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。有关更多信息,请参阅 AWS 新闻博客中的 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:// 访问存储桶
某些 AWS 服务需要使用 S3://bucket
指定 Amazon S3 存储桶。以下示例显示了正确的格式。请注意,使用此格式时,存储桶名称不包含 AWS 区域。
S3://
bucket-name
/key-name
例如,以下示例使用前面的路径样式部分中描述的示例存储桶。
S3://
mybucket/puppy.jpg