Configuration des clients de service dans le code pour la AWS SDK pour PHP version 3 - AWS SDK pour PHP

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des clients de service dans le code pour la AWS SDK pour PHP version 3

Au lieu ou en plus de la configuration externe des clients de service, vous pouvez les configurer par programmation dans le code.

En configurant les clients de service dans le code, vous contrôlez avec précision les nombreuses options qui s'offrent à vous. La plupart des configurations que vous pouvez définir en externe peuvent également être définies dans le code.

Configuration de base dans le code

Vous pouvez créer et configurer un client de service dans le code en transmettant un tableau associatif d'options au constructeur d'un client. Dans l'exemple suivant, le tableau associatif contient uniquement l'option « region » utilisée par le client :

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

Les informations relatives au paramètre optionnel « version » sont disponibles dans la rubrique des options de configuration.

Notez que nous n’avons pas explicitement fourni d’informations d’identification au client. Cela est dû au fait que le SDK utilise la chaîne de fournisseurs d'informations d'identification par défaut pour rechercher les informations d'identification.

Toutes les options générales de configuration du client sont décrites en détail dansOptions du constructeur client pour la AWS SDK pour PHP version 3. Les options fournies peuvent varier selon le type de client que vous créez. Ces options de configuration client personnalisées sont décrites dans la documentation sur l’API de chaque client.

Utilisation de la Sdk classe

La classe Aws\Sdk fonctionne comme une fabrique de clients. Elle permet de gérer des options de configuration partagées sur plusieurs clients. La plupart des options qui peuvent être fournies à un constructeur client spécifique peuvent également être fournies à la Aws\Sdk classe. Ces options sont ensuite appliquées à chaque constructeur client.

Importations

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

Exemple de code

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

Les options partagées entre tous les clients sont placées dans des paires clé-valeur au niveau racine. Les données de configuration spécifiques au service peuvent être fournies dans un tableau associatif avec une clé identique à l'espace de noms d'un service (par exemple, « S3 », « », etc.)DynamoDb.

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

Les valeurs de configuration spécifiques au service comprennent les valeurs spécifiques au service et les valeurs de niveau racine (les valeurs spécifiques au service sont fusionnées de manière superficielle dans les valeurs de niveau racine).

Note

Nous vous recommandons vivement d'utiliser la classe Sdk pour créer des clients si vous utilisez plusieurs instances client dans votre application. La classe Sdk utilise automatiquement le même client HTTP pour chaque client de kit SDK. Ainsi, des clients de kit SDK pour différents services peuvent lancer des requêtes HTTP non bloquantes. Si les clients de kit SDK n'utilisent pas le même client HTTP, les demandes HTTP envoyées par le client de kit SDK peuvent bloquer l'orchestration des promesses entre les services.