Faire des Service AWS demandes à l'aide de 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.

Faire des Service AWS demandes à l'aide de la AWS SDK pour PHP version 3

Vue d'ensemble du flux de travail des demandes de SDK

L'utilisation de la AWS SDK pour PHP version 3 suit un schéma cohérent dans l'ensemble Services AWS. Le flux de travail de base comprend trois étapes principales :

  1. Créez un client de service : instanciez un objet client pour celui que Service AWS vous souhaitez utiliser.

  2. Exécuter des opérations : appelez des méthodes sur le client qui correspondent aux opérations de l'API du service.

  3. Résultats du traitement : utilisez l'objet Result de type tableau renvoyé en cas de succès, ou gérez toute exception déclenchée en cas d'échec.

Les sections suivantes expliquent chacune de ces étapes en détail, en commençant par la procédure de création et de configuration des clients de service.

Création d'un client de service de base

Vous pouvez créer un client en transmettant un tableau associatif d'options au constructeur d'un client.

Importations

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

Exemple de code

//Create an S3Client $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2' // Since version 3.277.10 of the SDK, ]); // the 'version' parameter defaults to 'latest'.

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. En effet, 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.

Bien que l'exemple ci-dessus montre la création de clients de base, vous pouvez personnaliser vos clients de service pour répondre à des exigences spécifiques. Pour des informations plus détaillées sur la configuration des clients de service par le biais du code, consultezConfiguration des clients de service dans le code pour la AWS SDK pour PHP version 3. Si vous devez configurer des clients de service à l'aide de fichiers de configuration externes ou de variables d'environnement, reportez-vous àConfiguration externe des clients de service pour la AWS SDK pour PHP version 3.

Demandes

Vous pouvez effectuer des demandes de service en appelant la méthode du même nom sur un objet client. Par exemple, pour effectuer l'PutObjectopération Amazon S3, vous appelez la Aws\S3\S3Client::putObject() méthode.

Importations

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

Exemple de code

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2' ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3(); // Send a PutObject request and get the result object. $result = $s3Client->putObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!' ]); // Download the contents of the object. $result = $s3Client->getObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key' ]); // Print the body of the result by indexing into the result object. echo $result['Body'];

Les opérations disponibles pour un client, ainsi que la structure de l'entrée et de la sortie, sont définies au moment de l'exécution en fonction d'un fichier de description du service. Lorsque vous créez un client, si vous ne fournissez aucun version paramètre (par exemple, « 01/03/2006 » ou « dernier ») du modèle de service, le client utilise par défaut la dernière version. Le kit SDK détecte le fichier de configuration correspondant en fonction de la version fournie.

Toutes les méthodes d'opération telles que putObject() acceptent un seul argument : un tableau associatif qui représente les paramètres de l'opération. La structure de ce tableau (et la structure de l'objet de résultat) est définie pour chaque opération dans la documentation sur l'API du SDK (par exemple, consultez les documents sur l'API pour de plus amples informations sur l'opération putObject).

Options du gestionnaire HTTP

Vous pouvez également ajuster la manière dont le gestionnaire HTTP sous-jacent exécute la requête à l'aide du paramètre spécial @http. Vous pouvez inclure dans le paramètre @http les mêmes options que celles définies lors de l'instanciation du client à l'aide de l'option client « http ».

// Send the request through a proxy $result = $s3Client->putObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!', '@http' => [ 'proxy' => 'http://192.168.16.1:10' ] ]);

Utilisation des objets de résultat

L'exécution d'une opération réussie renvoie un objet Aws\Result. Plutôt que de renvoyer des données brutes XML ou JSON d'un service, le kit SDK renseigne les données de réponse dans une structure de tableau associatif. Cette approche normalise certains aspects des données en fonction des connaissances du service spécifique et de la structure de réponse sous-jacente.

Vous pouvez accéder aux données de l'AWS\Resultobjet sous la forme d'un tableau PHP associatif.

Importations

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

Exemple de code

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2', ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3 = $sdk->createS3(); $result = $s3->listBuckets(); foreach ($result['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; } // Convert the result object to a PHP array $array = $result->toArray();

Le contenu de l'objet de résultat dépend de l'opération qui a été exécutée et de la version du service. La structure du résultat de chaque opération d'API est détaillée dans la documentation sur l'API.

Le SDK est intégré à JMESPathun DSL utilisé pour rechercher et manipuler des données JSON ou, dans notre cas, des tableaux PHP. L'objet de résultat contient une méthode search() que vous pouvez utiliser pour extraire des données par déclaration du résultat.

Exemple de code

$s3 = $sdk->createS3(); $result = $s3->listBuckets();
$names = $result->search('Buckets[].Name');