php amazon s3,Amazon S3 多区域客户端与 AWS SDK for PHP 版本 3 - 适用于 PHP 的 AWS 开发工具包...

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

Amazon S3 多区域客户端与 AWS SDK for PHP 版本 3

AWS SDK for PHP版本 3 提供一种通用的多区域客户端,可用于任何服务。它支持用户为任何命令提供 @region 输入参数,以指定向哪个 AWS 区域发送命令。此外,开发工具包为 Amazon S3 提供的多区域客户端可针对特定的 Amazon S3 错误智能响应,并据此重新路由命令。它支持用户使用同一客户端与多个区域通信。对于Amazon S3 Stream Wrapper 与适用于 PHP 的 AWS 开发工具包版本 3 的用户而言,这是特别有用的功能,因为存储桶驻留在多个区域中。

基本用法

无论使用标准 S3 客户端还是多区域客户端,Amazon S3 客户端的基本用法模式是相同的。在命令级别,唯一的用法区别是可使用 @region 输入参数指定 AWS 区域。

// Create a multi-region S3 client

$s3Client = (new \Aws\Sdk)->createMultiRegionS3(['version' => 'latest']);

// You can also use the client constructor

$s3Client = new \Aws\S3\S3MultiRegionClient([

'version' => 'latest',

// Any Region specified while creating the client will be used as the

// default Region

'region' => 'us-west-2',

]);

// Get the contents of a bucket

$objects = $s3Client->listObjects(['Bucket' => $bucketName]);

// If you would like to specify the Region to which to send a command, do so

// by providing an @region parameter

$objects = $s3Client->listObjects([

'Bucket' => $bucketName,

'@region' => 'eu-west-1',

]);

重要

如果使用多区域 Amazon S3 客户端,您不会遇到永久性的重定向异常。如果命令发送到错误的区域,标准 Amazon S3 客户端会引发 Aws\S3\Exception\PermanentRedirectException 的实例。而多区域客户端会将该命令分派到正确的区域。

存储桶区域缓存

Amazon S3 多区域客户端会为给定存储桶驻留的 AWS 区域保留内部缓存。默认情况下,每个客户端都有它自己的内存中的缓存。要在客户端或进程之间共享缓存,请提供

Aws\CacheInterface 的一个实例,作为多区域客户端的 bucket_region_cache 选项。

use Aws\DoctrineCacheAdapter;

use Aws\Sdk;

use Doctrine\Common\Cache\ApcuCache;

$sdk = new Aws\Sdk([

'version' => 'latest',

'region' => 'us-west-2',

'S3' => [

'bucket_region_cache' => new DoctrineCacheAdapter(new ApcuCache),

],

]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值