AWS SDK for PHP 버전 3를 사용한 Amazon S3 멀티 리전 클라이언트 - AWS SDK for PHP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for PHP 버전 3를 사용한 Amazon S3 멀티 리전 클라이언트

AWS SDK for PHP 버전 3은 모든 서비스에 사용할 수 있는 일반 다중 리전 클라이언트를 제공합니다. 이 기능을 통해 사용자는 @region 입력 파라미터를 명령에 제공하여 명령을 전송할 AWS 리전을 지정할 수 있습니다. 또한 SDK는 특정 Amazon S3 오류에 지능적으로 응답하고 그에 따라 명령을 다시 라우팅하는 Amazon S3용 다중 리전 클라이언트를 제공합니다. 이 기능을 통해 사용자는 동일한 클라이언트를 사용하여 다중 리전과 통신할 수 있습니다. 이 기능은 버킷이 다중 리전에 상주하는 AWS SDK for PHP 버전 3을 사용한 Amazon S3 Stream Wrapper 사용자에게 특히 유용합니다.

기본 사용법

Amazon S3 클라이언트의 기본 사용 패턴은 표준 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), ], ]);