기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
코드 내에서 AWS SDK for PHP 버전 3용 서비스 클라이언트 구성
서비스 클라이언트를 외부에서 구성하는 대신 또는 그에 추가하여 코드 내에서 프로그래밍 방식으로 구성할 수 있습니다.
코드 내에서 서비스 클라이언트를 구성하면 사용 가능한 다양한 옵션을 세밀하게 제어할 수 있습니다. 외부에서 설정할 수 있는 대부분의 구성도 코드 내에서 설정할 수 있습니다.
코드 내 기본 구성
클라이언트의 생성자에 결합형 배열의 옵션을 전달하여 코드에서 서비스 클라이언트를 생성하고 구성할 수 있습니다. 다음 예에서는 결합형 배열에 클라이언트가 사용하는 "region" 옵션만 포함되어 있습니다.
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException; //Create an S3Client $s3 = new S3Client([ 'region' => 'eu-south-2' ]);
선택적 ‘version’ 파라미터에 대한 정보는 구성 옵션 항목에서 확인할 수 있습니다.
보안 인증을 클라이언트에 명시적으로 제공하지 않았다는 점에 주의하세요. 이는 SDK가 기본 자격 증명 공급자 체인을 사용하여 자격 증명 정보를 찾기 때문입니다.
모든 일반 클라이언트 구성 옵션에 대해서는 클라이언트 생성자 옵션(AWS SDK for PHP 버전 3)에서 자세히 설명합니다. 클라이언트에 제공되는 옵션의 배열은 어떤 클라이언트를 생성하고 있는지에 따라 다를 수 있습니다. 이러한 사용자 지정 클라이언트 구성 옵션에 대해서는 각 클라이언트의 API 설명서에서 설명합니다.
Sdk 클래스 사용
Aws\Sdk 클래스는 클라이언트 팩토리 역할을 하며 여러 클라이언트 간의 공유 구성 옵션을 관리하는 데 사용됩니다. 특정 클라이언트 생성자에 제공할 수 있는 동일한 옵션을 Aws\Sdk 클래스에도 제공할 수 있습니다. 그러면 이러한 옵션은 각 클라이언트 생성자에 적용됩니다.
가져옵니다.
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;
샘플 코드
// The same options that can be provided to a specific client constructor can also be supplied to the Aws\Sdk class. // Use the us-west-2 region and latest version of each client. $sharedConfig = [ 'region' => 'us-west-2' ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Create an Amazon S3 client using the shared configuration data. $client = $sdk->createS3();
모든 클라이언트 간에 공유되는 옵션은 루트 수준 키-값 페어에 배치됩니다. 서비스별 구성 데이터는 서비스의 네임스페이스(예: "S3", "DynamoDb" 등)와 동일한 키를 갖는 결합형 배열에 제공할 수 있습니다.
$sdk = new Aws\Sdk([ 'region' => 'us-west-2', 'DynamoDb' => [ 'region' => 'eu-central-1' ] ]); // Creating an Amazon DynamoDb client will use the "eu-central-1" AWS Region. $client = $sdk->createDynamoDb();
서비스별 구성 값은 서비스별 값과 루트 수준 값의 결합입니다(즉, 서비스별 값은 루트 수준 값에 얕게 병합됨).
참고
애플리케이션에서 여러 클라이언트 인스턴스를 사용하는 경우 Sdk 클래스를 사용하여 클라이언트를 생성하는 것이 좋습니다. Sdk 클래스는 각 SDK 클라이언트에 동일한 HTTP 클라이언트를 자동으로 사용하여 다른 서비스에 대한 SDK 클라이언트가 비차단 HTTP 요청을 수행할 수 있도록 허용합니다. SDK 클라이언트가 동일한 HTTP 클라이언트를 사용하지 않으면 SDK에서 전송된 HTTP 요청이 서비스 간의 promise 오케스트레이션을 차단할 수 있습니다.