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

使用 REST API 提出请求

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

为 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 区域和端点的完整列表,请参阅《Amazon Web Services 一般参考》中的 Amazon S3 端点和限额

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

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

例 虚拟托管类型请求

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

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 在所有 AWS 区域中同时支持虚拟托管类型和路径类型 URL 访问。但是,路径类型 URL 将来会停用。有关更多信息,请参阅下面的重要提示。

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

重要

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

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

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

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

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

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 双堆栈端点

有关如何使用 REST API 发出请求的更多信息,请参阅以下主题。