

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

# 将 Amazon S3 多区域接入点与 适用于 PHP 的 Amazon SDK 版本 3 配合使用
<a name="s3-multi-region-access-points"></a>

[Amazon Simple Storage Service（S3）多区域接入点](https://docs.amazonaws.cn//AmazonS3/latest/userguide/MultiRegionAccessPoints.html)提供了一个全局端点，用于在 Amazon Web Services 区域之间路由 Amazon S3 请求流量。

您可以使用适用于 [PHP 的 SDK、另一个 Amazon SDK、S3 控制台或 Amazon CLI 来](https://docs.amazonaws.cn//aws-sdk-php/v3/api/api-s3control-2018-08-20.html#createmultiregionaccesspoint)[创建多区域接入点，](https://docs.amazonaws.cn//AmazonS3/latest/userguide/multi-region-access-point-create-examples.html)

**重要**  
要将多区域接入点与适用于 PHP 的 SDK 配合使用，您的 PHP 环境必须安装[Amazon 通用运行时 (Amazon CRT) 扩展](guide_crt.md)。

当创建多区域接入点时，Amazon S3 会生成一个具有以下格式的 Amazon 资源名称（ARN）：

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

您可以使用生成的 ARN 来代替 `[getObject()](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-s3-2006-03-01.html#getobject)` 和 `[putObject()](https://docs.amazonaws.cn/aws-sdk-php/v3/api/api-s3-2006-03-01.html#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";
```