Configurar clientes de serviço no código para o AWS SDK para PHP versão 3 - AWS SDK para PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar clientes de serviço no código para o AWS SDK para PHP versão 3

Como alternativa, ou adição, à configuração externa de clientes de serviço, é possível configurá-los de modo programático no código.

Ao configurar clientes de serviço no código, você obtém um controle refinado das várias opções disponíveis. A maioria das configurações que você pode definir externamente também está disponível para definição no código.

Configuração básica no código

Você pode criar e configurar um cliente de serviço no código passando uma matriz associativa de opções para um construtor de cliente. No exemplo a seguir, a matriz associativa contém somente a opção “região” que o cliente usa:

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException; //Create an S3Client $s3 = new S3Client([ 'region' => 'eu-south-2' ]);

Informações sobre o parâmetro opcional “versão” estão disponíveis no tópico de opções de configuração.

Observe que não fornecemos explicitamente credenciais ao cliente. Isso porque o SDK usa a cadeia de provedores de credenciais padrão para procurar informações de credencial.

Todas as opções de configuração geral do cliente estão descritas em detalhes no Opções de construtor de cliente do AWS SDK para PHP versão 3. A matriz de opções fornecidas a um cliente pode variar com base no cliente que você está criando. Essas opções de configuração personalizada de cliente são descritas na documentação da API para cada cliente.

Usar a classe Sdk

A classe Aws\Sdk atua como uma fábrica de cliente e é usada para gerenciar as opções de configuração compartilhadas entre vários clientes. Muitas das opções que podem ser fornecidas para determinado construtor de cliente também podem ser fornecidas para a classe Aws\Sdk. Em seguida, essas opções são aplicadas a cada construtor de cliente.

Importações

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Código de exemplo

// 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();

As opções que são compartilhadas entre todos os clientes são colocadas em pares de chave-valor no nível raiz. Os dados de configuração específicos ao serviço podem ser fornecidos em uma matriz associativa com uma chave que é igual ao namespace de um serviço (por exemplo, “S3”, “DynamoDb” etc.).

$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();

Os valores de configuração específicos ao serviço são uma união dos valores específicos ao serviço e dos valores em nível raiz (ou seja, os valores específicos ao serviço são mesclados superficialmente com os valores em nível raiz).

nota

É altamente recomendável usar a classe Sdk para criar clientes se você estiver usando várias instâncias de cliente em seu aplicativo. A classe Sdk usa automaticamente o mesmo cliente HTTP para cada cliente do SDK, permitindo que clientes do SDK para diferentes serviços executem solicitações HTTP sem bloqueio. Se os clientes do SDK não usarem o mesmo cliente HTTP, as solicitações HTTP enviadas pelo cliente do SDK poderão bloquear a orquestração de promessas entre serviços.