将 Amazon S3 多区域接入点与适用于 PHP 的 Amazon SDK 版本 3 结合使用 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon S3 多区域接入点与适用于 PHP 的 Amazon SDK 版本 3 结合使用

Amazon Simple Storage Service(S3)多区域接入点提供了一个全局端点,用于在 Amazon Web Services 区域之间路由 Amazon S3 请求流量。

您可以使用适用于 PHP 的 SDK、另一个 Amazon SDK、S3 控制台或 Amazon CLI 来创建多区域接入点,

重要

要将多区域接入点与适用于 PHP 的 SDK 结合使用,您的 PHP 环境必须已安装 Amazon 通用运行时(Amazon CRT)扩展程序

当创建多区域接入点时,Amazon S3 会生成一个具有以下格式的 Amazon 资源名称(ARN):

arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias

您可以使用生成的 ARN 来代替 getObject()putObject() 方法的存储桶名称。

<?php require './vendor/autoload.php'; use Aws\S3\S3Client; // Assign the Multi-Region Access Point to a variable and use it place of a bucket name. $mrap = 'arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap'; $key = 'my-key'; $s3Client = new S3Client([ 'region' => 'us-east-1' ]); $s3Client->putObject([ 'Bucket' => $mrap, 'Key' => $key, 'Body' => 'Hello World!' ]); $result = $s3Client->getObject([ 'Bucket' => $mrap, 'Key' => $key ]); echo $result['Body'] . "\n"; // Clean up. $result = $s3Client->deleteObject([ 'Bucket' => $mrap, 'Key' => $key ]); $s3Client->waitUntil('ObjectNotExists', ['Bucket' => $mrap, 'Key' => $key]); echo "Object deleted\n";