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á.
Configurando clientes de serviço em código para a AWS SDK para PHP versão 3
Como alternativa — ou além de — configurar clientes de serviço externamente, você pode configurá-los programaticamente em código.
Ao configurar clientes de serviço em código, você obtém um controle refinado das muitas opções disponíveis para você. A maioria das configurações que você pode definir externamente também está disponível para você definir no código.
Configuração básica em código
Você pode criar e configurar um cliente de serviço em código passando uma matriz associativa de opções para o construtor de um 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 fornecedores de credenciais padrão para procurar informações de credenciais.
Todas as opções de configuração geral do cliente estão descritas em detalhes no Opções de construtor de clientes para a 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 do serviço podem ser fornecidos em uma matriz associativa com uma chave 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.