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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用访问点

您可以访问 Amazon S3 带有 接入点 使用 AWS 管理控制台, AWS CLI, AWS SDK或S3RESTAPI。

访问点具有 Amazon 资源名称 (ARN)。访问点 ARN 与存储桶 ARN 类似,但它们是明确键入和编码访问点的区域和访问点拥有者的 AWS 账户 ID。有关ARNS的更多信息,请参阅 亚马逊资源名称(ARNS)AWS General Reference.

接入点ARNS使用格式 arn:aws:s3:region:account-id:accesspoint/resource...例如:

  • ARN:AWS:S3:US-WEST-2:123456789012:Accesspoint/Test 代表名为 test,按账户所有 123456789012 地区 us-west-2.

  • ARN:AWS:S3:US-WEST-2:123456789012:Accesspoint/* 代表帐户下的所有接入点 123456789012 地区 us-west-2.

通过接入点访问的对象的ARNS使用格式 arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource...例如:

  • ARN:AWS:S3:US-WEST-2:123456789012:Accesspoint/Test/Object/Unit-01 代表对象 unit-01,通过名为 test,按账户所有 123456789012 地区 us-west-2.

  • ARN:AWS:S3:US-WEST-2:123456789012:Accesspoint/Test/Object/* 代表接入点的所有对象 test,账户中 123456789012 地区 us-west-2.

  • ARN:AWS:S3:US-WEST-2:123456789012:Accesspoint/Test/Object/Unit-01/Finance/* 代表前缀下的所有对象 unit-01/finance/ 对于接入点 test,账户中 123456789012 地区 us-west-2.

访问点与 S3 操作和 AWS 服务的兼容性

接入点 Amazon S3 与S3操作的子集和其他AWS服务兼容。以下部分列出了兼容的服务和 S3 操作。

AWS 服务

您可以使用S3接入点 AWS CloudFormation.

有关 AWS CloudFormation,参见 AWSCloudformation是什么?AWSCloudFormation用户指南.

S3操作

您可以使用 Amazon S3 API 的以下子集通过访问点来访问存储桶:

监控和日志记录

Amazon S3 记录通过接入点和管理接入点的API所提出请求所提出的请求,例如 CreateAccessPointGetAccessPointPolicy.

请求 Amazon S3 您的S3服务器访问日志中会出现一个接入点,并且 AWS CloudTrail 使用accesspoint主机名的日志。接入点的主机名称采用表格 access_point_name-account_id.s3-accesspoint.Region.amazonaws.com...例如,假设您有以下存储桶和接入点配置:

  • 名为 my-bucket 地区 us-west-2 包含对象 my-image.jpg

  • 名为 my-bucket-apmy-bucket

  • 您的 AWS 账户 ID 是 123456789012

要检索的请求 my-image.jpg 直接通过数据库显示在您的日志中,其主机名为 my-bucket.s3.us-west-2.amazonaws.com...如果您通过接入点提出请求, Amazon S3 检索同一个对象,但记录请求的主机名 my-bucket-ap-123456789012.s3-accesspoint.us-west-2.amazonaws.com.

有关 S3 服务器访问日志的更多信息,请参阅Amazon S3 服务器访问日志记录. 有关 AWS CloudTrail,参见 AWSCloudTrail是什么?AWS CloudTrail User Guide.

注意

S3 访问点目前与 Amazon CloudWatch 指标不兼容。

Examples

以下示例展示如何使用接入点与 Amazon S3.

示例:通过接入点请求对象

以下示例请求对象 my-image.jpg 通过接入点 prod 按账户ID所有 123456789012 地区 us-west-2,并将下载的文件保存为 download.jpg.

AWS CLI
aws s3api get-object --key my-image.jpg --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod download.jpg

示例:通过接入点上传对象

以下示例上传对象 my-image.jpg 通过接入点 prod 按账户ID所有 123456789012 地区 us-west-2.

AWS CLI
aws s3api put-object --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod --key my-image.jpg --body my-image.jpg

示例:通过接入点删除对象

以下示例删除对象 my-image.jpg 通过接入点 prod 按账户ID所有 123456789012 地区 us-west-2.

AWS CLI
aws s3api delete-object --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod --key my-image.jpg

示例:通过接入点列出对象

以下示例通过访问点列出对象 prod 按账户ID所有 123456789012 地区 us-west-2.

AWS CLI
aws s3api list-objects-v2 --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod

示例:通过接入点将标签设置为对象

以下示例将标记设置为现有对象 my-image.jpg 通过接入点 prod 按账户ID所有 123456789012 地区 us-west-2.

AWS CLI
aws s3api put-object-tagging --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod --key my-image.jpg --tagging TagSet=[{Key="finance",Value="true"}]

示例:使用ACL授予通过访问点访问权限

以下示例将ACL应用到现有对象 my-image.jpg 通过接入点 prod 按账户ID所有 123456789012 地区 us-west-2.

AWS CLI
aws s3api put-object-acl --bucket arn:aws:s3:us-west-2:123456789012:accesspoint/prod --key my-image.jpg --acl private