Création et utilisation de compartiments Amazon S3 avec la AWS SDK for PHP version 3 - AWS SDK for 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.

Création et utilisation de compartiments Amazon S3 avec la AWS SDK for PHP version 3

Les exemples suivants montrent comment :

  • Renvoie une liste des buckets appartenant à l'expéditeur authentifié de la demande en utilisant. ListBuckets

  • Créez un nouveau compartiment à l'aide de CreateBucket.

  • Ajoutez un objet à un compartiment à l'aide de PutObject.

Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub.

Informations d’identification

Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.

Importations

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

Lister les compartiments

Créez un fichier PHP avec le code suivant. Créez d'abord un service client AWS.S3 qui spécifie la AWS région et la version. Appelez ensuite la listBuckets méthode, qui renvoie tous les compartiments Amazon S3 appartenant à l'expéditeur de la demande sous la forme d'un tableau de structures de compartiments.

Exemple de code

$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); //Listing all S3 Bucket $buckets = $s3Client->listBuckets(); foreach ($buckets['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; }

Création d'un compartiment

Créez un fichier PHP avec le code suivant. Créez d'abord un service client AWS.S3 qui spécifie la AWS région et la version. Appelez ensuite la méthode createBucket avec un tableau comme paramètre. Le seul champ obligatoire est le compartiment (« Bucket ») clé, avec une valeur de chaîne pour le nom du compartiment à créer. Cependant, vous pouvez spécifier la AWS région à l'aide du champ CreateBucketConfiguration « ». Si elle aboutit, cette méthode renvoie l'emplacement (« Location ») du compartiment.

Exemple de code

function createBucket($s3Client, $bucketName) { try { $result = $s3Client->createBucket([ 'Bucket' => $bucketName, ]); return 'The bucket\'s location is: ' . $result['Location'] . '. ' . 'The bucket\'s effective URI is: ' . $result['@metadata']['effectiveUri']; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function createTheBucket() { $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2006-03-01' ]); echo createBucket($s3Client, 'my-bucket'); } // Uncomment the following line to run this code in an AWS account. // createTheBucket();

Placer un objet dans un seau

Pour ajouter des fichiers à votre nouveau compartiment, créez un fichier PHP avec le code suivant.

Dans votre ligne de commande, exécutez ce fichier et transmettez le nom du compartiment dans lequel vous souhaitez charger votre fichier sous forme de chaîne, suivi par le chemin d’accès complet du fichier à charger.

Exemple de code

$USAGE = "\n" . "To run this example, supply the name of an S3 bucket and a file to\n" . "upload to it.\n" . "\n" . "Ex: php PutObject.php <bucketname> <filename>\n"; if (count($argv) <= 2) { echo $USAGE; exit(); } $bucket = $argv[1]; $file_Path = $argv[2]; $key = basename($argv[2]); try { //Create a S3Client $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $result = $s3Client->putObject([ 'Bucket' => $bucket, 'Key' => $key, 'SourceFile' => $file_Path, ]); } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }