[Snippet] Upload des fichiers sur un Bucket AWS S3

Allez hop, j’introduis une nouvelle catégorie d’articles dont l’objectif est de fournir de petits morceaux de code bien pratiques. Aujourd’hui, on va uploader un fichier sur un bucket S3 avec PHP (mais la logique est la même avec du NodeJS).

Un commence par petit

php composer.phar install aws-sdk

Et ensuite, dans une petite classe PHP :

$bucket = 'nomdevotrebucket';
 $filepath = 'path/to/file';
 $destinationpath = 'dossier/nomdefichiersurvotrebuckets3'
 $s3options = array(
 'region' => 'eu-west-1',
 'version' => 'latest',
   'credentials' => array(
              'key' => 'votrecleaws',
              'secret' => 'votresecretaws',
         ),
 );

// Instantiate the client.
 $s3 = S3Client::factory($s3options);

// Upload file.
 $result = $s3->putObject(array(
 'Bucket' => $bucket,
 'Key' => $destinationpath,
 'SourceFile' => $filepath,
       'ACL' => 'public-read',
 ));

La partie credentials est optionnelle si vous avez pris la bonne habitude de stocker vos clés dans votre .credentials, ou si votre machine est un EC2.

La partie region est à adapter en fonction de l’endroit où vous avez choisi de créer votre bucket.

J’ai mis ici l’ACL public-read en partant du principe que l’accès au fichier était… public. Vous pouvez bien sûr adapter en fonction de vos besoins.

Voilou !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *