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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Amazon S3 多区域接入点与Amazon SDK for PHP版本 3 配合使用

亚马逊简单存储服务 (S3) Simple Service 多区域接入点提供了一个全球终端节点,用于在两者之间路由亚马逊 S3 请求流量。Amazon Web Services 区域

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

重要

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

当您创建多区域接入点时,Amazon S3 会生成一个采用以下格式的亚马逊资源名称 (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";