Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración para la AWS SDK for PHP versión 3
Las opciones del constructor de clientes se pueden proporcionar en un constructor de clientes o suministrar a la clase Aws\Sdk
. La matriz de opciones proporcionada a un tipo de cliente específico puede variar en función del cliente que esté creando. Estas opciones de configuración de cliente personalizadas se describen en la APIdocumentación de cada cliente.
Tenga en cuenta que algunas opciones de configuración comprobarán y utilizarán los valores predeterminados en función de las variables de entorno o de un archivo AWS de configuración. De forma predeterminada, el archivo de configuración que se está comprobando estará .aws/config
en su directorio principal, normalmente ~/.aws/config
. Sin embargo, puede usar la variable de entorno AWS_CONFIG_FILE
para establecer cuál es la ubicación predeterminada del archivo de configuración. Por ejemplo, esto puede ser útil si está restringiendo el acceso a archivos a ciertos directorios con open_basedir
.
Para obtener más información sobre la ubicación y el formato de los credentials
archivos AWS
config
y archivos compartidos, consulte la configuración en la Guía de referencia de herramientas AWS SDKs y herramientas.
Para obtener más información sobre todos los ajustes de configuración globales que puede establecer en los archivos de AWS configuración o como variables de entorno, consulte la referencia sobre los ajustes de configuración y autenticación en la Guía de referencia de herramientas AWS SDKs y herramientas.
Opciones de configuración
En el siguiente ejemplo se muestra cómo transferir opciones a un constructor de clientes de Amazon S3.
use Aws\S3\S3Client; $options = [ 'region' => 'us-west-2', 'version' => '2006-03-01', 'signature_version' => 'v4' ]; $s3Client = new S3Client($options);
Consulte la guía de uso básico para obtener más información sobre cómo crear clientes.
api_provider
- Tipo
-
callable
Un PHP invocable que acepta un argumento de tipo, servicio y versión, y devuelve una matriz con los datos de configuración correspondientes. El valor del tipo puede ser: api
, waiter
o paginator
.
De forma predeterminada, SDK utiliza una instancia Aws\Api\FileSystemApiProvider
que carga API archivos de la src/data
carpeta delSDK.
credenciales
- Tipo
-
array|Aws\CacheInterface|Aws\Credentials\CredentialsInterface|bool|callable
Transfiera un objeto Aws\Credentials\CredentialsInterface
para utilizar una instancia de credenciales específicas. A continuación se especifica que se debe utilizar el proveedor de credenciales de IAM Identity Center. Este proveedor también se conoce como proveedor de SSO credenciales.
$credentials = Aws\Credentials\CredentialProvider::sso('profile default'); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $credentials ]);
Si utiliza un perfil con nombre, sustituya el nombre de su perfil por “default
” en el ejemplo anterior. Para obtener más información sobre cómo configurar perfiles con nombre asignado, consulte credentials
Archivos config
y compartidos en la AWS SDKsGuía de referencia de Land Tools.
Si no especifica el proveedor de credenciales que va a utilizar y se basa en la cadena de proveedores de credenciales, el mensaje de error que se produce por una autenticación fallida suele ser genérico. Se genera a partir del último proveedor de la lista de fuentes que se están comprobando para comprobar si las credenciales son válidas, y es posible que no sea el proveedor que está intentando utilizar. Al especificar qué proveedor de credenciales usar, cualquier mensaje de error resultante es más útil y relevante, ya que proviene únicamente de ese proveedor. Para obtener más información sobre la cadena de fuentes a las que se comprueban las credenciales, consulte la cadena de proveedores de credenciales en la Guía de referencia de herramientas AWS SDKs y herramientas.
Transfiera false
para utilizar credenciales nulas y no firmar solicitudes.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => false ]);
Transfiera una función invocable de proveedor de credenciales para crear las credenciales utilizando una función.
use Aws\Credentials\CredentialProvider; // Only load credentials from environment variables $provider = CredentialProvider::env(); $s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'credentials' => $provider ]);
Transfiera las credenciales almacenadas en caché a una instancia de Aws\CacheInterface
para almacenar en caché los valores devueltos por la cadena de proveedor predeterminada en varios procesos.
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 ]);
Encontrará más información sobre cómo proporcionar credenciales a un cliente en la guía Credenciales para la AWS SDK for PHP versión 3.
nota
Las credenciales se cargan y validan lentamente cuando están en uso.
depuración
- Tipo
-
bool|array
Emite información de depuración acerca de cada transferencia. La información de depuración contiene información sobre cada cambio de estado de una transacción, ya que se prepara y se envía a través de la red. En el resultado de la depuración también se incluye información sobre el HTTP controlador específico que utiliza un cliente (por ejemplo, el resultado de la depuración cURL).
Establezca este parámetro en true
para mostrar información de depuración al enviar solicitudes.
$s3 = new Aws\S3\S3Client([ 'region' => 'us-west-2', 'debug' => true ]); // Perform an operation to see the debug output $s3->listBuckets();
De forma alternativa, puede proporcionar una matriz asociativa con las siguientes claves.
- logfn (invocable)
-
Es una función que se invoca con los mensajes de registro. De forma predeterminada, se usa PHP la
echo
función s. - stream_size (entero)
-
Cuando el tamaño de un flujo es superior a este número, los datos del flujo no se registran. Establezca el valor en
0
para no registrar datos de flujo. - scrub_auth (bool)
-
false
Configúrelo en para deshabilitar la eliminación de los datos de autenticación de los mensajes registrados (lo que significa que su ID de clave de AWS acceso y su firma se transferirán a).logfn
- http (bool)
-
false
Configúrelo para deshabilitar la función de «depuración» de los HTTP controladores de nivel inferior (por ejemplo, la salida c detallada). URL - auth_headers (array)
-
Establezca este parámetro en un mapeo de clave-valor de encabezados que desea sustituir mapeados al valor por el que los desea sustituir. Estos valores no se utilizan a menos que
scrub_auth
se haya establecido entrue
. - auth_strings (array)
-
Establezca este parámetro en un mapeo de clave-valor de expresiones regulares para mapearlos a sus reemplazos. El cepillo de datos de autenticación utiliza estos valores si
scrub_auth
se establece entrue
.
$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
Esta opción también muestra la información del HTTP controlador subyacente producida por la opción de depuración. http
La salida de depuración es extremadamente útil para diagnosticar problemas en AWS SDK for PHP. Proporcione el resultado de la depuración para un caso de error aislado al abrir problemas en el. SDK
stats
- Tipo
-
bool|array
Vincula las estadísticas de transferencia a los errores y resultados devueltos por SDK las operaciones.
Establezca este parámetro en true
para recopilar las estadísticas de transferencia de las solicitudes 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'];
De forma alternativa, puede proporcionar una matriz asociativa con las siguientes claves.
- retries (bool)
-
Establezca este parámetro en
true
para habilitar los informes sobre los reintentos. Las estadísticas de reintento se recopilan de forma predeterminada y se devuelven. - http (bool)
-
true
Configúrelo para permitir la recopilación de estadísticas de los HTTP adaptadores de nivel inferior (por ejemplo, los valores devueltos GuzzleHttpTransferStats). HTTPlos controladores deben admitir la opción __on_transfer_stats para que esto surta efecto. HTTPlas estadísticas se devuelven como una matriz indexada de matrices asociativas; cada matriz asociativa contiene las estadísticas de transferencia devueltas por una solicitud del controlador del cliente. HTTP Está deshabilitado de forma predeterminada.Si se ha reintentado una solicitud, se devolverán las estadísticas de transferencia de cada solicitud.
$result['@metadata']['transferStats']['http'][0]
incluirá las estadísticas de la primera solicitud,$result['@metadata']['transferStats']['http'][1]
, las estadísticas de la segunda solicitud y así sucesivamente. - timer (bool)
-
Establezca este parámetro en
true
para habilitar un temporizador de comandos que informa sobre el tiempo de reloj total que ha necesitado una operación para ejecutarse en segundos. Está deshabilitado de forma predeterminada.
$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'];
punto de conexión
- Tipo
-
string
El servicio web completoURI. Es necesario para los servicios como AWS Elemental MediaConvert, que utilizan puntos de conexión específicos de la cuenta. Para estos servicios, solicite este punto de conexión mediante el método describeEndpoints
.
Esto solo es necesario cuando se conecta a un punto de conexión personalizado (por ejemplo, una versión local de Amazon S3 o Amazon DynamoDB Local).
A continuación se muestra un ejemplo de la conexión a Amazon DynamoDB Local:
$client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-east-1', 'endpoint' => 'http://localhost:8000' ]);
Consulte las AWS regiones y los puntos de enlace para obtener una lista de AWS las regiones y puntos de enlace disponibles.
endpoint_provider
- Tipo
-
Aws\EndpointV2\EndpointProviderV2|callable
Una instancia opcional de EndpointProvider V2 o PHP invocable que acepta un conjunto de opciones, incluidas las claves de «servicio» y «región». Devuelve NULL
o un hash de datos de punto de enlace, de los cuales se requiere la clave "endpoint".
A continuación se muestra un ejemplo de cómo crear un proveedor de punto de enlace 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
La detección de puntos finales identifica y se conecta al punto final correcto para un servicio API que admite la detección de puntos finales. En el caso de los servicios que admiten, pero no requieren la detección de puntos de enlace, habilite endpoint_discovery
durante la creación del cliente. Si un servicio no admite la detección de puntos de enlace, esta configuración no se tiene en cuenta.
Aws\EndpointDiscovery\ConfigurationInterface
Un proveedor de configuración opcional que permite la conexión automática al punto final apropiado de un servicio API para las operaciones que el servicio especifique.
El objeto Aws\EndpointDiscovery\Configuration
acepta dos opciones: un valor booleano, "enabled", que indica si la detección de puntos de enlace está habilitada y un número entero, "cache_limit", que indica el número máximo de claves en la caché de puntos de enlace.
Para cada cliente creado, pase un objeto Aws\EndpointDiscovery\Configuration
para utilizar una configuración específica para la detección de puntos de enlace.
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, ]);
Pase una instancia de Aws\CacheInterface
para almacenar en caché los valores devueltos por la detección de puntos de enlace en varios procesos.
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), ]);
Pase una matriz a la detección de puntos de enlace.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'endpoint_discovery' => [ 'enabled' => true, 'cache_limit' => 1000 ], ]);
handler
- Tipo
-
callable
Es un controlador que acepta un objeto de comando y objeto de solicitud, y que devuelve una promesa (GuzzleHttp\Promise\PromiseInterface
) que se cumple con un objeto Aws\ResultInterface
o se rechaza con una Aws\Exception\AwsException
. Un controlador no acepta un siguiente controlador pues es terminal y se espera que lleve a cabo un comando. Si no se proporciona ningún controlador, se utiliza un controlador Guzzle predeterminado.
Puede utilizar el parámetro Aws\MockHandler
para devolver los resultados simulados o lanzar excepciones simuladas. Si pones en cola los resultados o las excepciones, ellos los MockHandler eliminarán de la cola en orden. 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
Establece una serie de HTTP opciones que se aplican a las HTTP solicitudes y transferencias creadas por. SDK
SDKAdmite las siguientes opciones de configuración:
cert
- Tipo
-
string|array
Especifique el certificado PEM formateado del lado del cliente.
-
Establecer como una cadena de texto para la ruta de acceso solo al archivo del certificado.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => ['cert' => '/path/to/cert.pem'] ]);
-
Estableer como una matriz que contiene la ruta y la contraseña.
use Aws\S3\S3Client; $client = new S3Client([ 'region' => 'us-west-2', 'http' => [ 'cert' => ['/path/to/cert.pem', 'password'] ] ]);
connect_timeout
Es un valor flotante que describe el número de segundos que se debe esperar al intentar conectarse a un servidor. Use 0
para esperar de forma indefinida (es el comportamiento por defecto).
use Aws\DynamoDb\DynamoDbClient; // Timeout after attempting to connect for 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'connect_timeout' => 5 ] ]);
depuración
- Tipo
-
bool|resource
Indica al HTTP controlador subyacente que genere información de depuración. La información de depuración proporcionada por los diferentes HTTP controladores puede variar.
-
Pase
true
para escribir el resultado de la depuración. STDOUT -
Pase un
resource
tal como lo devolviófopen
para escribir el resultado de la depuración en un recurso de PHP flujo específico.
decode_content
- Tipo
-
bool
Indica al HTTP controlador subyacente que infle el conjunto de respuestas comprimidas. Si no está habilitado, los cuerpos de respuestas comprimidos pueden inflarse con un GuzzleHttp\Psr7\InflateStream
.
nota
La decodificación de contenido está habilitada de forma predeterminada en el controlador SDK predeterminado. HTTP Por motivos de compatibilidad con versiones anteriores, este valor predeterminado no se puede cambiar. Si almacena archivos comprimidos en Amazon S3, le recomendamos que deshabilite contenido descodificando en el nivel de cliente de 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
Es el número de milisegundos de retraso antes de enviar la solicitud. Se utiliza a menudo para retrasar antes de volver a realizar una solicitud.
expect
- Tipo
-
bool|string
Esta opción se transfiere al HTTP controlador subyacente. De forma predeterminada, se establece el encabezado "Expect: 100-Continue" cuando el cuerpo de la solicitud es mayor que 1 MB. true
o false
activa o desactiva el encabezado en todas las solicitudes. Si se utiliza un número entero, utilizarán el encabezado únicamente las solicitudes cuyo cuerpo supere este valor. Cuando se utiliza un número entero, si el tamaño del cuerpo es desconocido, se enviará el encabezado Expect.
aviso
Si se deshabilita el encabezado Expect, es posible que el servicio no sea capaz de devolver errores de autenticación o de otro tipo. Esta opción debe configurarse con precaución.
avance
- Tipo
-
callable
Define la función a invocar cuando se realiza el progreso de la transferencia. La función acepta los argumentos siguientes:
-
El número total de bytes previsto que se va a descargar.
-
El número de bytes descargado hasta el momento.
-
El número de bytes previsto que se va a cargar.
-
El número de bytes cargado hasta el momento.
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
Puede conectarse a un AWS servicio a través de un proxy mediante la proxy
opción.
-
Proporcione un valor de cadena para conectarse a un proxy para todos los tipos deURIs. El valor de cadena de proxy puede contener un sistema, nombre de usuario y contraseña. Por ejemplo,
"http://username:password@192.168.16.1:10"
. -
Proporcione una matriz asociativa de configuraciones de proxy en la que la clave sea el esquema de y el valor sea el proxy de la configuración dada URI (es decir, puede proporcionar diferentes proxies para los puntos finales «http» y «https»). URI
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', ] ] ]);
Puede utilizar la variable de entorno HTTP_PROXY
para configurar un proxy específico del protocolo "http" y la variable de entorno HTTPS_PROXY
para configurar un proxy específico de "https".
sink
- Tipo
-
resource|string|Psr\Http\Message\StreamInterface
La opción sink
controla el lugar donde se descargan los datos de respuesta de una operación.
-
Introduce un
resource
tal como lo devuelvefopen
para descargar el cuerpo de la respuesta a una transmisión. PHP -
Proporcione la ruta a un archivo en el disco como valor
string
para descargar el cuerpo de la respuesta en un archivo específico en el disco. -
Proporcione un
Psr\Http\Message\StreamInterface
para descargar el cuerpo de la respuesta a un objeto de PSR flujo específico.
nota
SDKDescarga el cuerpo de la respuesta en un flujo PHP temporal de forma predeterminada. Esto significa que los datos se guardan en la memoria hasta que el tamaño del cuerpo alcanza 2 MB, momento en el que los datos se escriben en un archivo temporal en el disco.
synchronous
- Tipo
-
bool
La synchronous
opción informa al HTTP controlador subyacente de que tiene la intención de bloquear el resultado.
secuencia
- Tipo
-
bool
Configúrela true
para indicar al HTTP controlador subyacente que desea transmitir el cuerpo de la respuesta de una respuesta del servicio web, en lugar de descargarla toda por adelantado. Por ejemplo, esta opción se utiliza en la clase del encapsulador de flujo de Amazon S3 para garantizar que se transmiten los datos.
timeout
- Tipo
-
float
Es un valor flotante que describe el tiempo de espera de la solicitud en segundos. Use 0
para esperar de forma indefinida (es el comportamiento por defecto).
use Aws\DynamoDb\DynamoDbClient; // Timeout after 5 seconds $client = new DynamoDbClient([ 'region' => 'us-west-2', 'http' => [ 'timeout' => 5 ] ]);
verificar
- Tipo
-
bool|string
Puede personalizar el comportamiento de SSL verificación entre pares o TLS certificados SDK mediante la verify
http
opción.
-
true
Configúrelo SSL para habilitar la verificación de certificados por TLS pares y utilice el paquete de CA predeterminado que proporciona el sistema operativo. -
Establezca este parámetro en
false
para deshabilitar la verificación del certificado homólogo. (¡No es seguro!) -
Establezca este parámetro en una cadena para proporcionar la ruta a un paquete de certificados de CA para habilitar la verificación utilizando un paquete de CA personalizado.
Si no encuentra el paquete de CA para su sistema y recibe un error, indique la ruta del paquete de CA alSDK. Si no necesitas un paquete de CA específico, Mozilla proporciona un paquete de CA de uso común que puedes descargar aquíopenssl.cafile
PHP configuración.ini para que apunte a la ruta del archivo, lo que le permitirá omitir la opción de solicitud. verify
Puede encontrar mucha más información sobre SSL los certificados en el sitio web de c. URL
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
La http_handler
opción se utiliza para integrarla SDK con otros HTTP clientes. Una opción http_handler
es una función que acepta un objeto Psr\Http\Message\RequestInterface
y una matriz de opciones http
que se aplica al comando, y que devuelve un objeto GuzzleHttp\Promise\PromiseInterface
que se ha completado con un objeto Psr\Http\Message\ResponseInterface
o rechazado con una matriz con los siguientes datos de excepción:
-
exception
: (\Exception
) es la excepción que se ha encontrado. -
response
: (Psr\Http\Message\ResponseInterface
) es la respuesta que se ha recibido (si es que se ha recibido alguna). -
connection_error
: (bool) se establece entrue
para marcar el error como error de conexión. Si se establece este valor en,true
también se puede volver SDK a intentar la operación automáticamente, si es necesario.
Convierte SDK automáticamente lo dado http_handler
en una handler
opción normal al envolver lo proporcionado http_handler
con un Aws\WrappedHttpHandler
objeto.
De forma predeterminada, SDK usa Guzzle como su HTTP controlador. Puedes proporcionar un HTTP controlador diferente aquí o proporcionar a un cliente de Guzzle tus propias opciones definidas personalizadas.
Configuración de la versión TLS
Un caso de uso es configurar la TLS versión utilizada por Guzzle con Curl, suponiendo que Curl esté instalado en tu entorno. Ten en cuenta las restricciones de versión de Curl para determinar
Puede determinar la TLS versión que se va a utilizar para una operación de cliente determinada configurando la opción de debug
cliente en true y examinando el resultado de la SSL conexión. Esa línea podría ser similar a esto: SSL connection using TLSv1.2
Ejemplo de configuración TLS 1.2 con 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
La opción handler
sustituye a cualquier opción http_handler
proporcionada.
profile
- Tipo
-
string
La opción «perfil» especifica qué perfil usar cuando las credenciales se crean a partir del archivo de AWS credenciales de su HOME directorio (normalmente~/.aws/credentials
). Este valor sustituye a la variable de entorno AWS_PROFILE
.
nota
Al especificar la opción «perfil», esta "credentials"
opción se ignora y, por lo general~/.aws/config
, se ignoran los ajustes relacionados con las credenciales del archivo de AWS configuración.
// Use the "production" profile from your credentials file $ec2 = new Aws\Ec2\Ec2Client([ 'version' => '2014-10-01', 'region' => 'us-west-2', 'profile' => 'production' ]);
Consulte Credenciales de la AWS SDK for PHP versión 3 para obtener más información sobre la configuración de las credenciales y el formato de archivo.ini.
región
- Tipo
-
string
- Obligatoria
-
true
AWS Región a la que conectarse. Para obtener una lista de las regiones disponibles, consulte Regiones y puntos de conexión de AWS.
// 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
- Predeterminado
-
int(3)
Configura el modo de reintento y el número máximo de reintentos permitidos para un cliente. Transfiera 0
para deshabilitar los reintentos.
Los tres modos de reintento son:
-
legacy
: la implementación de reintentos heredada predeterminada -
standard
: añade un sistema de cuotas de reintentos para evitar que los reintentos tengan pocas probabilidades de éxito -
adaptive
: se basa en el modo estándar, añadiendo un limitador de velocidad del lado del cliente. Tenga en cuenta que este modo se considera experimental.
La configuración para reintentos consiste en el modo y los intentos máximos que se van a utilizar para cada solicitud. La configuración se puede establecer en un par de ubicaciones diferentes, en el siguiente orden de prioridad.
Orden de prioridad
El orden de prioridad para la configuración de reintento es el siguiente (1 anula 2-3, etc.):
-
Opción de configuración de cliente
-
Variables de entorno
-
AWS Archivo de configuración compartido
Variables de entorno
-
AWS_RETRY_MODE
: establecido enlegacy
,standard
oadaptive
. -
AWS_MAX_ATTEMPTS
: establecido en un valor entero para el máximo de intentos por solicitud
Claves de archivos de configuración compartida
-
retry_mode
: establecido enlegacy
,standard
oadaptive
. -
max_attempts
: establecido en un valor entero para el máximo de intentos por solicitud
Configuración de cliente
El siguiente ejemplo deshabilita los reintentos para el cliente de Amazon DynamoDB.
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 0 ]);
El siguiente ejemplo transfiere un número entero, que pasará de forma predeterminada al modo legacy
con el número de reintentos transferidos
// Disable retries by setting "retries" to 0 $client = new Aws\DynamoDb\DynamoDbClient([ 'version' => '2012-08-10', 'region' => 'us-west-2', 'retries' => 6 ]);
- El objeto
Aws\Retry\Configuration
acepta dos parámetros, el modo de reintento -
y un número entero para el máximo de intentos por solicitud. En este ejemplo se transfiere un
objeto Aws\Retry\Configuration
para la configuración de reintento.
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, ]);
En este ejemplo se transfiere una matriz para la configuración de reintento.
use Aws\S3\S3Client; $s3 = new S3Client([ 'region' => 'us-west-2', 'retries' => [ 'mode' => 'standard', 'max_attempts' => 7 ], ]);
En este ejemplo se transfiere una instancia de Aws\CacheInterface
para almacenar en caché los valores devueltos por el proveedor de configuración de reintento predeterminado.
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
- Predeterminado
-
string(5) "https"
URIesquema que se debe usar al conectarse. SDKUtiliza puntos finales «https» (es decir, usa TLS conexionesSSL/) de forma predeterminada. Puede intentar conectarse a un servicio a través de un punto de enlace "http" sin cifrar configurando scheme
en "http".
$s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'scheme' => 'http' ]);
Consulte Regiones y puntos de conexión de AWS para obtener una lista de los puntos de conexión y saber si un servicio es compatible con el esquema http
.
servicio
- Tipo
-
string
- Obligatoria
-
true
Es el nombre del servicio que se debe utilizar. Este valor se proporciona de forma predeterminada cuando se utiliza un cliente proporcionado por SDK (es decir,Aws\S3\S3Client
). Esta opción resulta útil cuando se prueba un servicio que aún no se ha publicado en el discoSDK, pero que está disponible en el disco.
signature_provider
- Tipo
-
callable
Un invocable que acepta un nombre de versión de firma (por ejemplo,v4
), un nombre de servicio y una AWS región, y devuelve un Aws\Signature\SignatureInterface
objeto o NULL
si el proveedor puede crear un firmante para los parámetros dados. Este proveedor se utiliza para crear los signatarios que utiliza el cliente.
La SDK Aws\Signature\SignatureProvider
clase proporciona varias funciones que se pueden utilizar para crear proveedores de firmas personalizados.
signature_version
- Tipo
-
string
Es una cadena que representa una versión de firma personalizada para utilizarla con un servicio (por ejemplo, v4
, etc.). La versión de firma por operación MAY anula esta versión de firma solicitada, si es necesario.
Los siguientes ejemplos muestran cómo configurar un cliente de Amazon S3 para utilizar la versión 4 de la firma 4:
// Set a preferred signature version $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'us-west-2', 'signature_version' => 'v4' ]);
nota
La signature_provider
utilizada por su cliente MUST podrá crear la signature_version
opción que usted proporcione. De forma predeterminada, signature_provider
se SDK pueden crear objetos de firma para las versiones de firma «v4» y «anónima».
ua_append
- Tipo
-
string|string[]
- Predeterminado
-
[]
Cadena o matriz de cadenas que se añaden a la cadena del agente de usuario que se pasa al HTTP controlador.
use_aws_shared_config_files
- Tipo
-
bool|array
- Predeterminado
-
bool(true)
Configúrelo en false para deshabilitar la búsqueda del archivo de configuración compartido en '~/. aws/config’ and ‘~/.aws/credentials'. Esto anulará la variable de FILE entorno AWS_CONFIG _.
validar
- Tipo
-
bool|array
- Predeterminado
-
bool(true)
Establezca este parámetro como false
para deshabilitar la validación de parámetros del lado del cliente. Es posible que si desactiva la validación mejore ligeramente el rendimiento del cliente, pero la diferencia es insignificante.
// Disable client-side validation $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => false ]);
Establezca este parámetro como matriz asociativa de opciones de validación para habilitar restricciones de validación específicas:
-
required
: compruebe que los parámetros obligatorios están presentes (activos de forma predeterminada). -
min
: valide la longitud mínima de un valor (activada de forma predeterminada). -
max
: valide la longitud máxima de un valor. -
pattern
: valide que el valor coincide con una expresión regular.
// Validate only that required values are present $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'eu-west-1', 'validate' => ['required' => true] ]);
versión
- Tipo
-
string
- Obligatoria
-
false
Esta opción especifica la versión del servicio web a utilizar (por ejemplo, 2006-03-01
).
A partir de la versión 3.277.10 deSDK, la opción «versión» no es necesaria. Si no especificas la opción «versión», se SDK utilizará la última versión del cliente del servicio.
El parámetro "version" es necesario al crear un cliente de servicio en dos casos.
-
Utiliza una versión PHP SDK anterior a la 3.277.10.
-
Utiliza la versión 3.277.10 o una versión posterior y quiere utilizar otra versión del cliente de servicio que no es la más reciente.
Por ejemplo, en el siguiente fragmento se utiliza la versión 3.279.7 deSDK, pero no la versión más reciente de. Ec2Client
$ec2Client = new \Aws\Ec2\Ec2Client([ 'version' => '2015-10-01', 'region' => 'us-west-2' ]);
Especificar una restricción de versión garantiza que el código no se vea afectado por un cambio importante en el servicio.
Puede encontrar una lista de API las versiones disponibles en la página de documentación de cada cliente. API Si no puede cargar una API versión específica, es posible que deba actualizar su copia deSDK.