使用 REST API 提出请求 - Amazon Simple Storage Service

使用 REST API 提出请求

本节介绍如何使用 REST API 向 Amazon S3 终端节点发出请求。有关 Amazon S3 终端节点的列表,请参阅 AWS General Reference 中的区域和终端节点

为 REST API 请求构建 S3 主机名

Amazon S3 终端节点遵循如下所示的结构:

s3.Region.amazonaws.com

Amazon S3 访问点终端节点和双堆栈终端节点也遵循标准结构:

  • Amazon S3 访问点s3-accesspoint.Region.amazonaws.com

  • 双堆栈s3.dualstack.Region.amazonaws.com

有关 Amazon S3 区域和终端节点的列表,请参阅 AWS 一般参考 中的 Amazon S3 区域和终端节点

虚拟托管类型和路径类型请求

在使用 REST API 提出请求时,您可以使用 Amazon S3 终端节点的虚拟托管类型和路径类型 URI。有关更多信息,请参阅存储桶的虚拟托管

例 虚拟托管类型请求

下面是要求从美国西部(俄勒冈)区域中名为 examplebucket 的存储桶删除 puppy.jpg 文件的虚拟托管类型请求的示例。有关虚拟托管类型请求的更多信息,请参阅虚拟托管类型请求

DELETE /puppy.jpg HTTP/1.1 Host: examplebucket.s3.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

例 路径类型请求

下面是同一请求的路径类型版本示例。

DELETE /examplebucket/puppy.jpg HTTP/1.1 Host: s3.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

目前,Amazon S3 支持所有区域中的虚拟托管式和路径式访问,但这一点将发生改变(请参阅以下重要说明。)

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

重要

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

通过使用 REST API 向双堆栈终端节点发出请求

在使用 REST API 时,您可以通过使用虚拟托管类型或路径类型终端节点名称 (URI) 直接访问双堆栈终端节点。所有 Amazon S3 双堆栈终端节点名称中都包含区域。与标准的仅支持 IPv4 的终端节点不同,虚拟托管类型和路径类型终端节点都使用特定于区域的终端节点名称。

例 虚拟托管类型双堆栈终端节点请求

如下例所示,您可以在 REST 请求中使用虚拟托管类型终端节点,该示例从美国西部(俄勒冈)区域中名为 examplebucket 的存储桶检索 puppy.jpg 对象。

GET /puppy.jpg HTTP/1.1 Host: examplebucket.s3.dualstack.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

例 路径类型双堆栈终端节点请求

如下例所示,您也可以在请求中使用路径类型终端节点。

GET /examplebucket/puppy.jpg HTTP/1.1 Host: s3.dualstack.us-west-2.amazonaws.com Date: Mon, 11 Apr 2016 12:00:00 GMT x-amz-date: Mon, 11 Apr 2016 12:00:00 GMT Authorization: authorization string

有关双堆栈终端节点的更多信息,请参阅使用 Amazon S3 双堆栈终端节点