创建接入点后,您可以使用这些端点来执行多项操作。在引用接入点时,可以使用 Amazon 资源名称(ARN)、接入点别名或虚拟托管类型 URI。
接入点 ARN
接入点具有 Amazon Resource Name(ARN)。接入点 ARN 与存储桶 ARN 类似,但它们是明确键入的,用于对接入点的 AWS 区域和接入点的拥有者的 AWS 账户 ID 进行编码。有关 ARN 的更多信息,请参阅《AWS 一般参考》中的 Amazon 资源名称(ARN)。
接入点 ARN 使用以下格式:
arn:aws:s3:
region
:account-id
:accesspoint/resource
-
arn:aws:s3:
表示名为us-west-2
:123456789012
:accesspoint/test
的接入点,它在区域test
中由账户us-west-2
拥有。123456789012
-
arn:aws:s3:
表示区域us-west-2
:123456789012
:accesspoint/*
中账户us-west-2
下的所有接入点。123456789012
通过接入点访问的对象的 ARN 使用以下格式:
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
中,由账户us-west-2
拥有)进行访问。123456789012
-
arn:aws:s3:
表示名为us-west-2
:123456789012
:accesspoint/test
/object/*
的接入点(在区域test
的账户us-west-2
中)的所有对象。123456789012
-
arn:aws:s3:
表示名为us-west-2
:123456789012
:accesspoint/test
/object/unit-01
/finance
/*
的接入点(在区域test
的账户us-west-2
中)的前缀123456789012
下的所有对象。unit-01/finance/
接入点别名
当您创建接入点时,Amazon S3 会自动生成一个别名。您可以使用该别名来替代 Amazon S3 存储桶名称以进行数据访问。对于接入点数据面板操作,您可以使用此接入点别名,而不是 Amazon 资源名称(ARN)。有关这些操作的列表,请参阅接入点兼容性。
接入点别名是在与 Amazon S3 存储桶相同的命名空间中创建的。此别名自动生成,无法更改。接入点别名符合有效 Amazon S3 存储桶名称的所有要求,包括以下部分:
access point
prefix
-metadata
-s3alias
注意
-s3alias
后缀是为接入点别名预留的,不能用于存储桶或接入点名称。有关 Amazon S3 存储桶命名规则的更多信息,请参阅通用存储桶命名规则。
接入点别名使用案例和限制条件
采用接入点时,您可以使用接入点别名,而无需对代码进行大量更改。
当您创建接入点时,Amazon S3 会自动生成一个接入点别名,如下例所示。要运行此命令,请将
替换为您自己的信息。user
input placeholders
aws s3control create-access-point --bucket
amzn-s3-demo-bucket1
--namemy-access-point
--account-id111122223333
{ "AccessPointArn": "arn:aws:s3:region
:111122223333
:accesspoint/my-access-point
", "Alias": "my-access-point
-aqfqprnstn7aefdfbarligizwgyfouse1a
-s3alias" }
在任何数据层面操作中,您都可以使用此接入点别名而不是 Amazon S3 存储桶名称。有关这些操作的列表,请参阅接入点兼容性。
以下有关 get-object
命令的 AWS CLI 示例使用存储桶的接入点别名来返回有关指定对象的信息。要运行此命令,请将
替换为您自己的信息。user input placeholders
aws s3api get-object --bucket
my-access-point
-aqfqprnstn7aefdfbarligizwgyfouse1a
-s3alias --keydir/my_data.rtf
my_data.rtf
{ "AcceptRanges": "bytes", "LastModified": "2020-01-08T22:16:28+00:00", "ContentLength": 910, "ETag": "\"00751974dc146b76404bb7290f8f51bb\"", "VersionId": "null", "ContentType": "text/rtf", "Metadata": {} }
接入点别名限制
-
客户无法配置别名。
-
无法在接入点上删除、修改或禁用别名。
-
在某些数据面板操作中,您可以使用此接入点别名,而不是 Amazon S3 存储桶名称。有关这些操作的列表,请参阅接入点与 S3 操作的兼容性。
-
您不能将一个接入点别名用于多个 Amazon S3 控制层面操作。有关 Amazon S3 控制层面操作的列表,请参阅《Amazon Simple Storage Service API 参考》中的 Amazon S3 控制。
-
您不能使用 S3 接入点别名作为 Amazon S3 控制台中移动操作的源或目标。
-
别名不能用于 AWS Identity and Access Management(IAM)策略中。
-
别名不能用作 S3 服务器访问日志的日志记录目标。
-
别名不能用作 AWS CloudTrail 日志的日志记录目标。
-
Amazon SageMaker GroundTruth 不支持接入点别名。
虚拟托管类型 URI
访问点仅支持虚拟主机式寻址。在虚拟托管类型 URI 中,接入点名称、AWS 账户和 AWS 区域是 URL 中域名的一部分。有关虚拟托管的更多信息,请参阅存储桶的虚拟托管。
接入点的虚拟托管类型 URI 使用以下格式:
https://
access-point-name
-account-id
.s3-accesspoint.region
.amazonaws.com
注意
-
如果您的访问点名称包含破折号 (-) 字符,请在 URL 中包含破折号,然后在账户 ID 之前插入另一个破折号。例如,要使用区域
中由账户us-west-2
拥有的名为123456789012
的接入点,相应的 URL 应为finance-docs
https://
。finance-docs
-123456789012
.s3-accesspoint.us-west-2
.amazonaws.com -
S3 接入点不支持通过 HTTP 进行访问。接入点仅支持通过 HTTPS 进行安全访问。