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 de clientes de servicio en el código para la versión 3 de AWS SDK para PHP
Como alternativa a la configuración de los clientes de servicio externamente, o como complemento a esta, puede configurarlos mediante programación en el código.
Al configurar los clientes de servicio en el código, se obtiene un control preciso de las numerosas opciones disponibles. La mayor parte de la configuración que puede establecer externamente también está disponible para establecerla en el código.
Configuración básica en código
Puede crear y configurar un cliente de servicio en el código pasando una matriz asociativa de opciones al constructor de un cliente. En el siguiente ejemplo, la matriz asociativa solo contiene la opción “region” que utiliza el cliente:
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException; //Create an S3Client $s3 = new S3Client([ 'region' => 'eu-south-2' ]);
Encontrará información sobre el parámetro opcional "versión" en el temaOpciones de configuración.
Tenga en cuenta que no hemos proporcionado credenciales de forma explícita al cliente. Esto se debe a que el SDK utiliza la cadena de proveedores de credenciales predeterminada para buscar la información de credenciales.
Todas las opciones de configuración generales del cliente se describen detalladamente en Opciones del constructor de clientes para la versión 3 de AWS SDK para PHP. La matriz de opciones proporcionada a un cliente puede variar en función del cliente que esté creando. Estas opciones de configuración de cliente personalizadas se describen en la documentación de la API de cada cliente.
Utilización de la clase Sdk
La clase Aws\Sdk actúa como una fábrica de clientes y se utiliza para administrar las opciones de configuración compartidas entre varios clientes. Muchas de las opciones que se pueden proporcionar a un constructor de cliente específico también se pueden proporcionar a la clase Aws\Sdk. Estas opciones se aplican después a cada constructor de clientes.
Importaciones
require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;
Código de muestra
// 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();
Las opciones que se comparten entre todos los clientes se colocan en pares clave-valor en el nivel de raíz. Los datos de configuración específicos del servicio se pueden proporcionar en una matriz asociativa con una clave que es igual al espacio de nombres de un servicio (por ejemplo, “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();
Los valores de configuración específicos del servicio son una combinación de los valores específicos del servicio y los valores del nivel de raíz (es decir, los valores específicos del servicio se combinan suavemente con los valores del nivel de raíz).
nota
Le recomendamos encarecidamente que utilice la clase Sdk para crear clientes si utiliza varias instancias de cliente en su aplicación. La clase Sdk utiliza automáticamente el mismo cliente HTTP para cada cliente del SDK, lo que permite que los clientes del SDK de diferentes servicios puedan realizar solicitudes HTTP sin que haya bloqueo. Si los clientes del SDK no utilizan el mismo cliente HTTP, es posible que las solicitudes HTTP enviadas por el cliente del SDK bloqueen la orquestación de promesas entre los servicios.