将 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";