使用 Amazon S3 on Outposts - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

欢迎使用新的 Amazon S3 用户指南! Amazon S3 用户指南结合了以下三个已停用的指南中的信息和说明:Amazon S3 开发人员指南Amazon S3 控制台用户指南Amazon S3 入门指南

使用 Amazon S3 on Outposts

您可以使用 S3 on Outposts 为需要本地数据访问、数据处理和数据驻留的应用程序存储和检索本地对象。本节将介绍如何在 S3 on Outposts 中使用存储桶管理 API 以及了解访问和监控 S3 on Outposts 的要求。

使用 Amazon 资源名称 (ARN) 访问 Amazon S3 on Outposts 资源

Amazon S3 支持全局存储桶。这意味着,每个存储桶名称在分区内的所有 AWS 区域中都必须是唯一的。在 Amazon S3 中,您只能使用存储桶的名称访问存储桶。但是在 S3 on Outposts 中,存储桶名称对于 Outpost 是唯一的,并且需要 Outpost-id 以及存储桶名称来标识它们。

访问点可简化对 S3 中的共享数据集的大规模数据访问管理。访问点是附加到存储桶的命名网络终端节点,您可以使用这些存储桶执行 Amazon S3 对象操作(如 GetObjectPutObject)。在 S3 on Outposts 上,存储桶终端节点和对象 API 终端节点不同。因此,与 Amazon S3 中可以直接访问的存储桶不同,您必须使用接入点访问 Outposts 存储桶中的任何对象。访问点仅支持虚拟主机式寻址。

以下显示了用于 S3 on Outposts 存储桶的 Amazon 资源名称 (ARN) 格式:

arn:aws:s3-outposts:<region>:<account>:outpost/<outpost-id>/bucket/<bucket-name>

以下显示了用于 S3 on Outposts 接入点的 ARN 格式:

arn:aws:s3-outposts:<region>:<account>:outpost/<outpost-id>/accesspoint/<accesspoint-name>

现有存储桶管理 API 不支持区域以外的位置概念。因此,您不能使用这些 API 创建和管理范围限定为账户、Outposts 和区域的存储桶。S3 on Outposts 将托管一个单独的终端节点,用于管理与 S3 不同的 Outposts 存储桶 API。这个终端节点是 s3-outposts.<region>.amazonaws.com。您必须创建这些终端节点,才能访问 Outposts 存储桶并执行对象操作。通过允许相同的操作在 S3 和 S3 on Outposts 中工作,这也将使 API 模型和行为相同。这是通过使用正确的 ARN 对存储桶和对象进行签名来完成的。

您必须为 API 传递 ARN,以便 Amazon S3 能够确定请求是针对 Amazon S3 (s3-control.<region>.amazonaws.com) 还是 S3 on Outposts (s3-outposts.<region>.amazonaws.com)。然后 S3 可以适当地签署和路由请求。

无论何时将请求发送到 Amazon S3 控制平面,此开发工具包都会从 ARN 中提取组件,并包含一个附加标头“x-amz-outpost-id”,其值为从 ARN 中提取的“outpost-id”的值。ARN 中的服务名称将用于在将请求路由到 S3 on Outposts 终端节点之前对请求进行签名。这适用于 s3control 客户端处理的所有 API。

S3 on Outposts 的 API

下表列出了用于 Amazon S3 on Outposts 的扩展 API 及其相对于 Amazon S3 的更改。

API S3 参数值 S3 on Outposts 参数值

CreateBucket

存储桶名称

名称为 ARN,outpost-id

ListRegionalBuckets(新 API)

NA

outpost-id

DeleteBucket

存储桶名称

名称为 ARN

DeleteBucketLifecycleConfiguration

存储桶名称

存储桶名称为 ARN

GetBucketLifecycleConfiguration

存储桶名称

存储桶名称为 ARN

PutBucketLifecycleConfiguration

存储桶名称

存储桶名称为 ARN

GetBucketPolicy

存储桶名称

存储桶名称为 ARN

PutBucketPolicy

存储桶名称

存储桶名称为 ARN

DeleteBucketPolicy

存储桶名称

存储桶名称为 ARN

GetBucketTagging

存储桶名称

存储桶名称为 ARN

PutBucketTagging

存储桶名称

存储桶名称为 ARN

DeleteBucketTagging

存储桶名称

存储桶名称为 ARN

CreateAccessPoint

访问点名称

访问点名称为 ARN

DeleteAccessPoint

访问点名称

访问点名称为 ARN

GetAccessPoint

访问点名称

访问点名称为 ARN

GetAccessPoint

访问点名称

访问点名称为 ARN

ListAccessPoints

访问点名称

访问点名称为 ARN

PutAccessPointPolicy

访问点名称

访问点名称为 ARN

GetAccessPointPolicy

访问点名称

访问点名称为 ARN

DeleteAccessPointPolicy

访问点名称

访问点名称为 ARN

有关访问和管理 S3 on Outposts 存储桶的更多信息,请参阅以下主题: