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á.
Configuração para a AWS SDK for PHP versão 3
Essas opções do construtor de cliente podem ser fornecidas em um construtor de cliente ou fornecidas à classe Aws\Sdk
. A matriz de opções fornecidas a um tipo específico de cliente pode variar com base no cliente que você está criando. Essas opções personalizadas de configuração do cliente são descritas na APIdocumentação de cada cliente.
Observe que algumas opções de configuração verificarão e usarão valores padrão com base em variáveis de ambiente ou em um arquivo AWS de configuração. Por padrão, o arquivo de configuração que está sendo verificado será .aws/config
em seu diretório pessoal, normalmente ~/.aws/config
. No entanto, é possível usar a variável de ambiente AWS_CONFIG_FILE
para definir onde será o local do arquivo de configuração padrão. Por exemplo, isso pode ser útil se você estiver restringindo o acesso a arquivos em determinados diretórios com open_basedir
.
Para obter mais informações sobre a localização e a formatação dos credentials
arquivos compartilhados AWS
config
, consulte Configuração no Guia de referência de ferramentas AWS SDKs e ferramentas.
Para obter detalhes sobre todas as configurações globais que você pode definir nos arquivos de AWS configuração ou como variáveis de ambiente, consulte a referência de configurações e configurações de autenticação no AWS SDKsGuia de referência de ferramentas.
Opções de configuração
O exemplo a seguir mostra como passar opções para um construtor de cliente do Amazon S3.
use Aws\S3\S3Client; $options = [ 'region' => 'us-west-2', 'version' => '2006-03-01', 'signature_version' => 'v4' ]; $s3Client = new S3Client($options);
Consulte o guia de uso básico para obter mais informações sobre a construção de clientes.
api_provider
- Tipo
-
callable
Um PHP chamável que aceita um argumento de tipo, serviço e versão e retorna uma matriz de dados de configuração correspondentes. O valor do tipo pode ser api
, waiter
ou paginator
.
Por padrão, o SDK usa uma instância de Aws\Api\FileSystemApiProvider
que carrega API arquivos da src/data
pasta doSDK.
credenciais
- Tipo
-
array|Aws\CacheInterface|Aws\Credentials\CredentialsInterface|bool|callable
Passe um objeto Aws\Credentials\CredentialsInterface
para usar uma instância de credenciais específica. O seguinte especifica que o provedor de credenciais do IAM Identity Center deve ser usado. Esse provedor também é conhecido como provedor de SSO credenciais.
$credentials = Aws\Credentials\CredentialProvider::sso('profile default'); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $credentials ]);
Se você usar um perfil nomeado, substitua o nome do seu perfil por “default
” no exemplo anterior. Para saber mais sobre como configurar perfis nomeados, consulte Compartilhados config
e credentials
arquivos no Guia de referência de ferramentas AWS SDKs e ferramentas.
Se você não especificar um provedor de credenciais para usar e confiar na cadeia de provedores de credenciais, a mensagem de erro resultante da falha na autenticação geralmente é genérica. Ele é gerado a partir do último provedor na lista de fontes que estão sendo verificadas quanto às credenciais válidas, que pode não ser o provedor que você está tentando usar. Quando você especifica qual provedor de credenciais usar, qualquer mensagem de erro resultante é mais útil e relevante porque resulta somente desse provedor. Para saber mais sobre a cadeia de fontes verificadas quanto às credenciais, consulte Cadeia de fornecedores de credenciais no Guia de Referência de Ferramentas AWS SDKs e Ferramentas.
Passe false
para usar credenciais nulas e não assinar solicitações.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => false ]);
Passe uma função de provedor de credenciais que pode ser chamada para criar credenciais usando uma função.
use Aws\Credentials\CredentialProvider; // Only load credentials from environment variables $provider = CredentialProvider::env(); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $provider ]);
Transmita as credenciais armazenadas em cache a uma instância de Aws\CacheInterface
para armazenar em cache os valores retornados pela cadeia de provedores padrão entre vários processos.
use Aws\Credentials\CredentialProvider; use Aws\PsrCacheAdapter; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $cache = new PsrCacheAdapter(new FilesystemAdapter); $provider = CredentialProvider::defaultProvider(); $cachedProvider = CredentialProvider::cache($provider, $cache); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $cachedProvider ]);
Você pode encontrar mais informações sobre como fornecer credenciais a um cliente no guia Credenciais para a AWS SDK for PHP versão 3.
nota
As credenciais são carregados e validadas lentamente quando são usadas.
depurar
- Tipo
-
bool|array
Fornece informações de depuração sobre cada transferência. As informações de depuração contêm informações sobre cada alteração de estado de uma transação conforme ela é preparada e enviada pela rede. Também estão incluídas na saída de depuração informações sobre o HTTP manipulador específico usado por um cliente (por exemplo, saída de depuração cURL).
Defina como true
para exibir informações de depuração ao enviar solicitações.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'debug' => true ]); // Perform an operation to see the debug output $s3->listBuckets();
Como alternativa, você pode fornecer uma matriz associativa com as seguintes chaves.
- logfn (callable)
-
Função que é invocada com mensagens de log. Por padrão, PHP a
echo
função's é usada. - stream_size (int)
-
Quando o tamanho de um fluxo for maior que esse número, os dados do fluxo não serão registrados em log. Defina como
0
para não registrar em log nenhum dado de fluxo. - scrub_auth (bool)
-
Defina como
false
para desativar a depuração dos dados de autenticação das mensagens registradas (o que significa que o ID da chave de AWS acesso e a assinatura serão passados para o).logfn
- http (bool)
-
Defina como
false
para desativar o recurso de “depuração” de HTTP manipuladores de nível inferior (por exemplo, saída c detalhada). URL - auth_headers (matriz)
-
Defina como um mapeamento de chave-valor de cabeçalhos que você deseja substituir mapeados para o valor pelo qual você deseja substitui-los. Esses valores não serão usados, a menos que
scrub_auth
esteja definido comotrue
. - auth_strings (matriz)
-
Defina como um mapeamento de chave-valor de expressões regulares a serem mapeadas para suas substituições. Esses valores serão usados pelo programa de limpeza de dados de autenticação se
scrub_auth
estiver definido comotrue
.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'debug' => [ 'logfn' => function ($msg) { echo $msg . "\n"; }, 'stream_size' => 0, 'scrub_auth' => true, 'http' => true, 'auth_headers' => [ 'X-My-Secret-Header' => '[REDACTED]', ], 'auth_strings' => [ '/SuperSecret=[A-Za-z0-9]{20}/i' => 'SuperSecret=[REDACTED]', ], ] ]); // Perform an operation to see the debug output $s3->listBuckets();
nota
Essa opção também gera as informações subjacentes do HTTP manipulador produzidas pela opção de http
depuração. A saída da depuração é extremamente útil ao diagnosticar problemas no AWS SDK for PHP. Forneça a saída de depuração para um caso de falha isolado ao abrir problemas noSDK.
stats
- Tipo
-
bool|array
Vincula as estatísticas de transferência aos erros e resultados retornados pelas SDK operações.
Defina como true
para coletar estatísticas de transferências sobre solicitações enviadas.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'stats' => true ]); // Perform an operation $result = $s3->listBuckets(); // Inspect the stats $stats = $result['@metadata']['transferStats'];
Como alternativa, você pode fornecer uma matriz associativa com as seguintes chaves.
- retries (bool)
-
Defina como
true
para habilitar relatórios sobre novas tentativas realizadas. As estatísticas de novas tentativas são coletadas por padrão e retornadas. - http (bool)
-
Defina como
true
para permitir a coleta de estatísticas de HTTP adaptadores de nível inferior (por exemplo, valores retornados). GuzzleHttpTransferStats HTTPos manipuladores devem suportar uma opção __on_transfer_stats para que isso tenha efeito. HTTPas estatísticas são retornadas como uma matriz indexada de matrizes associativas; cada matriz associativa contém as estatísticas de transferência retornadas para uma solicitação pelo manipulador do cliente. HTTP Desabilitado por padrão.Se uma solicitação for repetida, as estatísticas da transferência de cada solicitação serão retornadas com
$result['@metadata']['transferStats']['http'][0]
contendo as estatísticas da primeira solicitação,$result['@metadata']['transferStats']['http'][1]
contendo as estatísticas da segunda solicitação, e assim por diante. - timer (bool)
-
Defina como
true
para habilitar um temporizador de comando que relata o tempo total gasto em uma operação em segundos. Desabilitado por padrão.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'stats' => [ 'retries' => true, 'timer' => false, 'http' => true, ] ]); // Perform an operation $result = $s3->listBuckets(); // Inspect the HTTP transfer stats $stats = $result['@metadata']['transferStats']['http']; // Inspect the number of retries attempted $stats = $result['@metadata']['transferStats']['retries_attempted']; // Inspect the total backoff delay inserted between retries $stats = $result['@metadata']['transferStats']['total_retry_delay'];
endpoint
- Tipo
-
string
O serviço web completoURI. Isso é necessário para serviços, como AWS Elemental MediaConvert, que usam endpoints específicos da conta. Para esses serviços, solicite esse endpoint usando o método describeEndpoints
.
Isso só é necessário ao conectar-se a um endpoint personalizado (por exemplo, uma versão local do Amazon S3 ou o Amazon DynamoDB Local).
Este é um exemplo de como conectar-se ao Amazon DynamoDB Local:
$client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-east-1', 'endpoint' => 'http://localhost:8000' ]);
Consulte as AWS regiões e endpoints para obter uma lista das AWS regiões e endpoints disponíveis.
endpoint_provider
- Tipo
-
Aws\EndpointV2\EndpointProviderV2|callable
Uma instância opcional de EndpointProvider V2 ou PHP callable que aceita um hash de opções, incluindo uma chave de “serviço” e “região”. Ele retorna NULL
ou um hash de dados de endpoint, dos quais a chave do "endpoint" é necessária.
Este é um exemplo de como criar um provedor de endpoint mínimo.
$provider = function (array $params) { if ($params['service'] == 'foo') { return ['endpoint' => $params['region'] . '.example.com']; } // Return null when the provider cannot handle the parameters return null; });
endpoint_discovery
- Tipo
-
array|Aws\CacheInterface|Aws\EndpointDiscovery\ConfigurationInterface|callable
A descoberta de endpoints identifica e se conecta ao endpoint correto para um serviço API que oferece suporte à descoberta de endpoints. Para serviços que oferecem suporte, mas que não exigem a descoberta de endpoint, habilite endpoint_discovery
durante a criação do cliente. Se um serviço não oferecer suporte à descoberta de endpoint, essa configuração será ignorada.
Aws\EndpointDiscovery\ConfigurationInterface
Um provedor de configuração opcional que permite a conexão automática com o endpoint apropriado de um serviço API para operações especificadas pelo serviço.
O objeto Aws\EndpointDiscovery\Configuration
aceita duas opções, incluindo um valor booliano, "habilitado", que indica se a descoberta de endpoint está habilitada, e um número inteiro "cache_limit" que indica o número máximo de chaves no cache do endpoint.
Para cada cliente criado, transmita um objeto Aws\EndpointDiscovery\Configuration
para usar uma configuração específica para a descoberta de endpoint.
use Aws\EndpointDiscovery\Configuration; use Aws\S3\S3Client; $enabled = true; $cache_limit = 1000; $config = new Aws\EndpointDiscovery\Configuration ( $enabled, $cache_limit ); $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2', 'endpoint_discovery' => $config, ]);
Transmita uma instância de Aws\CacheInterface
para armazenar em cache os valores retornados pela descoberta de endpoint em vários processos.
use Aws\DoctrineCacheAdapter; use Aws\S3\S3Client; use Doctrine\Common\Cache\ApcuCache; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => new DoctrineCacheAdapter(new ApcuCache), ]);
Transmita uma matriz para a descoberta de endpoint.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => [ 'enabled' => true, 'cache_limit' => 1000 ], ]);
handler
- Tipo
-
callable
Um manipulador que aceita um objeto de comando e um objeto de solicitação e retorna uma promessa (GuzzleHttp\Promise\PromiseInterface
) que é cumprida com um objeto Aws\ResultInterface
ou rejeitada com uma Aws\Exception\AwsException
. Um manipulador não aceita um próximo manipulador pois ele é terminal e espera-se que cumpra um comando. Se nenhum manipulador for fornecido, um manipulador Guzzle padrão será usado.
Você pode usar o Aws\MockHandler
para retornar resultados simulados ou gerar exceções simuladas. Você coloca resultados ou exceções na fila e eles os MockHandler desenfileirarão em ordem. FIFO
use Aws\Result; use Aws\MockHandler; use Aws\DynamoDb\DynamoDbClient; use Aws\CommandInterface; use Psr\Http\Message\RequestInterface; use Aws\Exception\AwsException; $mock = new MockHandler(); // Return a mocked result $mock->append(new Result(['foo' => 'bar'])); // You can provide a function to invoke; here we throw a mock exception $mock->append(function (CommandInterface $cmd, RequestInterface $req) { return new AwsException('Mock exception', $cmd); }); // Create a client with the mock handler $client = new DynamoDbClient([ 'region' => 'us-east-1', 'handler' => $mock ]); // Result object response will contain ['foo' => 'bar'] $result = $client->listTables(); // This will throw the exception that was enqueued $client->listTables();
http
- Tipo
-
array
Defina como uma matriz de HTTP opções que são aplicadas às HTTP solicitações e transferências criadas peloSDK.
O SDK suporta as seguintes opções de configuração:
cert
- Tipo
-
string|array
Especifique o certificado PEM formatado do lado do cliente.
-
Defina como uma string para o caminho apenas para o arquivo do certificado.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => ['cert' => '/path/to/cert.pem'] ]);
-
Defina como uma matriz com o caminho e a senha.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => [ 'cert' => ['/path/to/cert.pem', 'password'] ] ]);
connect_timeout
Um float que descreve o número de segundos de espera ao tentar conectar-se a um servidor. Use 0
para esperar indefinidamente (o comportamento padrão).
use Aws\DynamoDb\DynamoDbClient; // Timeout after attempting to connect for 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'connect_timeout' => 5 ] ]);
depurar
- Tipo
-
bool|resource
Instrui o HTTP manipulador subjacente a gerar informações de depuração. As informações de depuração fornecidas por diferentes HTTP manipuladores variam.
-
Passe
true
para gravar a saída de depuração emSTDOUT. -
Passe a
resource
como retornado porfopen
para gravar a saída de depuração em um recurso de PHP fluxo específico.
decode_content
- Tipo
-
bool
Instrui o HTTP manipulador subjacente a inflar o corpo de respostas comprimidas. Quando não habilitada, os corpos de respostas compactadas podem ser inflados com um GuzzleHttp\Psr7\InflateStream
.
nota
A decodificação de conteúdo é ativada por padrão no HTTP manipulador padrão SDK do. Por motivo compatibilidade com versões anteriores, esse padrão não pode ser alterado. Se você armazenar arquivos compactados no Amazon S3, recomendamos desativar a decodificação de conteúdo no nível do cliente do S3.
use Aws\S3\S3Client; use GuzzleHttp\Psr7\InflateStream; $client = new S3Client([ 'region' => 'us-west-2', 'http' => ['decode_content' => false], ]); $result = $client->getObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'massize_gzipped_file.tgz' ]); $compressedBody = $result['Body']; // This content is still gzipped $inflatedBody = new InflateStream($result['Body']); // This is now readable
delay
- Tipo
-
int
O número de milissegundos de atraso antes de enviar a solicitação. Isso muitas vezes é usado como o atraso antes de repetir uma solicitação.
expect
- Tipo
-
bool|string
Essa opção é passada para o HTTP manipulador subjacente. Por padrão, o cabeçalho Expect: 100-Continue é definido quando o corpo da solicitação excede 1 MB. true
ou false
habilita ou desabilita o cabeçalho em todas as solicitações. Se um número inteiro for usado, somente as solicitações com corpos que excedam essa configuração usarão o cabeçalho. Quando usado como um número inteiro, se o tamanho do corpo for desconhecido, o cabeçalho Expect será enviado.
Atenção
Desabilitar o cabeçalho Expect pode impedir que o serviço retorne a autenticação ou causar outros erros. Essa opção deve ser configurada com cuidado.
progresso
- Tipo
-
callable
Define uma função para invocar quando o progresso da transferência é feito. A função aceita os seguintes argumentos:
-
O número total de bytes esperado para download.
-
O número de bytes obtidos por download até agora.
-
O número de bytes esperado para upload.
-
O número de bytes obtidos por upload até agora.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2' ]); // Apply the http option to a specific command using the "@http" // command parameter $result = $client->getObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'large.mov', '@http' => [ 'progress' => function ($expectedDl, $dl, $expectedUl, $ul) { printf( "%s of %s downloaded, %s of %s uploaded.\n", $expectedDl, $dl, $expectedUl, $ul ); } ] ]);
proxy
- Tipo
-
string|array
Você pode se conectar a um AWS serviço por meio de um proxy usando a proxy
opção.
-
Forneça um valor de string para se conectar a um proxy para todos os tipos deURIs. O valor de sequência do proxy pode conter um esquema, um nome de usuário e uma senha. Por exemplo,
"http://username:password@192.168.16.1:10"
. -
Forneça uma matriz associativa de configurações de proxy em que a chave é o URI esquema do e o valor é o proxy do determinado URI (ou seja, você pode fornecer proxies diferentes para endpoints “http” e “https”).
use Aws\DynamoDb\DynamoDbClient; // Send requests through a single proxy $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'proxy' => 'http://192.168.16.1:10' ] ]); // Send requests through a different proxy per scheme $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'proxy' => [ 'http' => 'tcp://192.168.16.1:10', 'https' => 'tcp://192.168.16.1:11', ] ] ]);
Você pode usar a variável de ambiente HTTP_PROXY
para configurar um proxy específico ao protocolo "http", e a variável de ambiente HTTPS_PROXY
para configurar um proxy específico ao "https".
sink
- Tipo
-
resource|string|Psr\Http\Message\StreamInterface
A opção sink
controla onde o download dos dados da resposta de uma operação é feito.
-
Forneça um
resource
conforme retornado porfopen
para baixar o corpo da resposta em um PHP stream. -
Forneça o caminho para um arquivo no disco como um valor de
string
para fazer download do corpo da resposta em um arquivo específico no disco. -
Forneça um
Psr\Http\Message\StreamInterface
para baixar o corpo da resposta para um objeto de PSR fluxo específico.
nota
O SDK baixa o corpo da resposta para um fluxo PHP temporário por padrão. Isso significa que os dados permanecem na memória até que o tamanho do corpo atinja 2 MB e, nesse ponto, os dados são gravados em um arquivo temporário no disco.
synchronous
- Tipo
-
bool
A synchronous
opção informa ao HTTP manipulador subjacente que você pretende bloquear o resultado.
transmissão
- Tipo
-
bool
Defina como true
para informar ao HTTP manipulador subjacente que você deseja transmitir o corpo da resposta de uma resposta do serviço web, em vez de baixar tudo de antemão. Por exemplo, essa opção é dependente da classe stream wrapper do Amazon S3 para garantir que os dados sejam transmitidos.
timeout
- Tipo
-
float
Uma float que descreve o tempo limite da solicitação em segundos. Use 0
para esperar indefinidamente (o comportamento padrão).
use Aws\DynamoDb\DynamoDbClient; // Timeout after 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'timeout' => 5 ] ]);
verificar
- Tipo
-
bool|string
Você pode personalizar o comportamento de verificação por pares SSL e TLS certificados do SDK usando a verify
http
opção.
-
Defina como
true
para ativar a verificação TLS do certificadoSSL/peer e usar o pacote CA padrão fornecido pelo sistema operacional. -
Defina como
false
para desabilitar a verificação de certificado par. (Isso não é seguro.) -
Defina como uma sequência para fornecer o caminho para um pacote de certificado CA para habilitar a verificação usando um pacote CA personalizado.
Se o pacote de CA não puder ser encontrado para seu sistema e você receber um erro, forneça o caminho para um pacote de CA para o. SDK Se você não precisa de um pacote de CA específico, a Mozilla fornece um pacote de CA comumente usado, que você pode baixar aquiopenssl.cafile
PHP .ini para apontar para o caminho do arquivo, permitindo que você omita a opção de solicitação. verify
Você pode encontrar muito mais detalhes sobre SSL certificados no URLsite c.
use Aws\DynamoDb\DynamoDbClient; // Use a custom CA bundle $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'verify' => '/path/to/my/cert.pem' ] ]); // Disable SSL/TLS verification $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'verify' => false ] ]);
http_handler
- Tipo
-
callable
A http_handler
opção é usada para integrá-lo SDK com outros HTTP clientes. Uma opção http_handler
é uma função que aceita um objeto Psr\Http\Message\RequestInterface
e uma matriz de opções http
aplicadas ao comando e retorna um objeto GuzzleHttp\Promise\PromiseInterface
que é atendido com um objeto Psr\Http\Message\ResponseInterface
ou rejeitado com uma matriz de dados da seguinte exceção:
-
exception
- (\Exception
) a exceção que foi encontrada. -
response
- (Psr\Http\Message\ResponseInterface
) a resposta que foi recebida (se houver). -
connection_error
- (bool) definido comotrue
para marcar o erro como um erro de conexão. Definir esse valor comotrue
também permite que SDK o repita automaticamente a operação, se necessário.
O converte SDK automaticamente o fornecido http_handler
em uma handler
opção normal envolvendo o fornecido http_handler
com um Aws\WrappedHttpHandler
objeto.
Por padrão, o SDK usa o Guzzle como HTTP manipulador. Você pode fornecer um HTTP manipulador diferente aqui ou fornecer a um cliente Guzzle suas próprias opções personalizadas definidas.
TLSVersão de configuração
Um caso de uso é definir a TLS versão usada pelo Guzzle com o Curl, supondo que o Curl esteja instalado em seu ambiente. Observe as restrições de versão do
Você pode determinar a TLS versão que está sendo usada para uma determinada operação do cliente definindo a opção do debug
cliente como verdadeira e examinando a saída da SSL conexão. Essa linha pode ser semelhante a: SSL connection using TLSv1.2
Exemplo de configuração TLS 1.2 com o Guzzle 6:
use Aws\DynamoDb\DynamoDbClient; use Aws\Handler\GuzzleV6\GuzzleHandler; use GuzzleHttp\Client; $handler = new GuzzleHandler( new Client([ 'curl' => [ CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2 ] ]) ); $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http_handler' => $handler ]);
nota
A opção http_handler
substitui qualquer opção handler
fornecida.
profile
- Tipo
-
string
A opção “perfil” especifica qual perfil usar quando as credenciais são criadas a partir do arquivo de AWS credenciais em seu HOME diretório (normalmente). ~/.aws/credentials
Essa configuração substitui a variável de ambiente AWS_PROFILE
.
nota
Quando você especifica a opção “perfil”, a "credentials"
opção é ignorada e as configurações relacionadas à credencial no arquivo de AWS configuração (normalmente~/.aws/config
) são ignoradas.
// Use the "production" profile from your credentials file $ec2 = new Aws\Ec2\Ec2Client([ 'version' => '2014-10-01', 'region' => 'us-west-2', 'profile' => 'production' ]);
Consulte Credenciais para a AWS SDK for PHP versão 3 para obter mais informações sobre como configurar credenciais e o formato de arquivo.ini.
região
- Tipo
-
string
- Obrigatório
-
verdadeiro
AWS Região à qual se conectar. Consulte as Regiões e endpoints da AWS para obter uma lista de regiões disponíveis.
// Set the Region to the EU (Frankfurt) Region $s3 = new Aws\S3\S3Client([ 'region' => 'eu-central-1', 'version' => '2006-03-01' ]);
retries
- Tipo
-
int|array|Aws\CacheInterface|Aws\Retry\ConfigurationInterface|callable
- Padrão
-
int(3)
Configura o modo de repetição e o número máximo de tentativas permitidas para um cliente. Passe 0
para desativar as repetições.
Os três modos de repetição são:
-
legacy
: a implementação padrão de nova tentativa herdada -
standard
: adiciona um sistema de cota de repetição para evitar novas tentativas que provavelmente não serão bem-sucedidas -
adaptive
: se baseia no modo padrão, adicionando um limitador de taxa no lado do cliente. Observe que este modo é considerado experimental.
A configuração para novas tentativas consiste no modo e no máximo de tentativas a serem usadas para cada solicitação. A configuração pode ser definida em alguns locais diferentes, na seguinte ordem de precedência.
Ordem de precedência
A ordem de precedência para a configuração de repetição é a seguinte (1 substitui 2, 3, etc.):
-
Opção de configuração de cliente
-
Variáveis de ambiente
-
AWS Arquivo de configuração compartilhado
Variáveis de ambiente
-
AWS_RETRY_MODE
definido comolegacy
,standard
ouadaptive
-
AWS_MAX_ATTEMPTS
definido como um valor inteiro para o máximo de tentativas por solicitação
Chaves do arquivo de configuração compartilhado
-
retry_mode
definido comolegacy
,standard
ouadaptive
-
max_attempts
definido como um valor inteiro para o máximo de tentativas por solicitação
Configuração do cliente
O exemplo a seguir desativa as repetições para o cliente do Amazon DynamoDB.
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 0 ]);
O exemplo a seguir transmite um inteiro, que assumirá o modo legacy
por padrão com o número de novas tentativas transmitido
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 6 ]);
- O objeto
Aws\Retry\Configuration
aceita dois parâmetros, o modo de repetição -
e um inteiro para o máximo de tentativas por solicitação. Este exemplo transmite um
objeto Aws\Retry\Configuration
para a configuração de repetição.
use Aws\EndpointDiscovery\Configuration; use Aws\S3\S3Client; $enabled = true; $cache_limit = 1000; $config = new Aws\Retry\Configuration('adaptive', 10); $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2', 'retries' => $config, ]);
Este exemplo transmite uma matriz para a configuração de repetição.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'retries' => [ 'mode' => 'standard', 'max_attempts' => 7 ], ]);
Este exemplo transmite uma instância de Aws\CacheInterface
para armazenar em cache os valores retornados pelo provedor de configuração de repetição padrão.
use Aws\DoctrineCacheAdapter; use Aws\S3\S3Client; use Doctrine\Common\Cache\ApcuCache; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => new DoctrineCacheAdapter(new ApcuCache), ]);
scheme
- Tipo
-
string
- Padrão
-
string(5) "https"
URIesquema a ser usado ao se conectar. O SDK usa endpoints “https” (ou seja, usa TLS conexõesSSL/) por padrão. Você pode tentar se conectar a um serviço por meio de um endpoint "http" não criptografado definindo scheme
como "http".
$s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'scheme' => 'http' ]);
Consulte Regiões e endpoints da AWS para obter uma lista de endpoints e saber se um serviço é compatível com o esquema http
.
serviço
- Tipo
-
string
- Obrigatório
-
verdadeiro
Nome do serviço a ser usado. Esse valor é fornecido por padrão ao usar um cliente fornecido pelo SDK (ou seja,Aws\S3\S3Client
). Essa opção é útil ao testar um serviço que ainda não foi publicado noSDK, mas que você tem disponível em disco.
signature_provider
- Tipo
-
callable
Um chamável que aceita um nome de versão da assinatura (por exemplo,v4
), um nome de serviço e AWS região e retorna um Aws\Signature\SignatureInterface
objeto ou NULL
se o provedor conseguir criar um assinante para os parâmetros fornecidos. Esse provedor é usado para criar os assinantes usados pelo cliente.
Há várias funções fornecidas pela SDK Aws\Signature\SignatureProvider
classe que podem ser usadas para criar provedores de assinatura personalizados.
signature_version
- Tipo
-
string
Uma sequência que representa uma versão da assinatura personalizada para uso com um serviço (por exemplo, v4
etc.). Por versão de assinatura de operação, MAY substitua essa versão de assinatura solicitada, se necessário.
Os exemplos a seguir mostram como configurar um cliente do Amazon S3 para usar o Signature versão 4:
// Set a preferred signature version $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'signature_version' => 'v4' ]);
nota
O signature_provider
usado pelo seu cliente MUST poderá criar a signature_version
opção que você fornece. O padrão signature_provider
usado pelo SDK pode criar objetos de assinatura para versões de assinatura “v4” e “anônimas”.
ua_append
- Tipo
-
string|string[]
- Padrão
-
[]
Uma string ou matriz de strings que são adicionadas à string do agente do usuário passada para o HTTP manipulador.
use_aws_shared_config_files
- Tipo
-
bool|array
- Padrão
-
bool(true)
Defina como false para desativar a verificação do arquivo de configuração compartilhado em '~/. aws/config’ and ‘~/.aws/credentials'. Isso substituirá a variável de FILE ambiente AWS_CONFIG _.
validar
- Tipo
-
bool|array
- Padrão
-
bool(true)
Defina como false
para desativar a validação do parâmetro do lado do cliente. Você pode descobrir que desligar a validação melhorará um pouco o desempenho do cliente, mas a diferença é insignificante.
// Disable client-side validation $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => false ]);
Defina como uma matriz associativa de opções de validação para habilitar restrições específicas de validação:
-
required
- Validar se os parâmetros necessários estão presentes (ativado por padrão). -
min
- Validar o comprimento mínimo de um valor (ativado por padrão). -
max
- Validar o comprimento máximo de um valor. -
pattern
- Validar se o valor corresponde a uma expressão regular.
// Validate only that required values are present $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => ['required' => true] ]);
versão
- Tipo
-
string
- Obrigatório
-
false
Esta opção especifica a versão do serviço Web a ser utilizada (por exemplo, 2006-03-01
).
A partir da versão 3.277.10 doSDK, a opção “versão” não é necessária. Se você não especificar a opção “versão”, SDK usará a versão mais recente do cliente de serviço.
Duas situações exigem um parâmetro de “versão” quando você cria um cliente de serviço.
-
Você usa uma versão PHP SDK anterior à 3.277.10.
-
Você usa a versão 3.277.10 ou posterior e deseja usar uma versão diferente da 'mais recente' para um cliente de serviço.
Por exemplo, o trecho a seguir usa a versão 3.279.7 doSDK, mas não a versão mais recente do. Ec2Client
$ec2Client = new \Aws\Ec2\Ec2Client([ 'version' => '2015-10-01', 'region' => 'us-west-2' ]);
Especificar uma restrição de versão garante que o código não será afetado por uma alteração de interrupção feita no serviço.
Uma lista das API versões disponíveis pode ser encontrada na página de API documentação de cada cliente. Se você não conseguir carregar uma API versão específica, talvez seja necessário atualizar sua cópia doSDK.