Configuration des 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.

Configuration des compartiments Amazon S3 avec la AWS SDK for PHP version 3

Le partage des ressources cross-origin (CORS) définit un moyen pour les applications Web clientes chargées dans un domaine particulier d'interagir avec les ressources d'un autre domaine. Grâce à la prise en charge du CORS dans Amazon S3, vous pouvez créer des applications Web riches côté client avec Amazon S3 et autoriser de manière sélective un accès inter-origines à vos ressources Amazon S3.

Pour plus d'informations sur l'utilisation de la configuration CORS avec un compartiment Amazon S3, consultez Cross-Origin Resource Sharing (CORS).

Les exemples suivants montrent comment :

  • Obtenez la configuration CORS d'un bucket à l'aide GetBucketCorsde.

  • Définissez la configuration CORS pour un bucket à l'aide PutBucketCorsde.

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.

Obtenez la configuration CORS

Créez un fichier PHP avec le code suivant. Commencez par créer un service client AWS.S3, puis appelez la méthode getBucketCors et spécifiez le compartiment dont vous souhaitez définir la configuration CORS.

Le seul paramètre obligatoire est le nom du compartiment sélectionné. Si le compartiment possède actuellement une configuration CORS, cette configuration est renvoyée par Amazon S3 en tant qu'objet CorsRules.

Importations

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

Exemple de code

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->getBucketCors([ 'Bucket' => $bucketName, // REQUIRED ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Définissez la configuration CORS

Créez un fichier PHP avec le code suivant. Commencez par créer un service client AWS.S3. Appelez ensuite la méthode putBucketCors, spécifiez le compartiment dont la configuration CORS doit être définie et définissez la CORSConfiguration comme objet JSON CORSRules.

Importations

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

Exemple de code

$client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); try { $result = $client->putBucketCors([ 'Bucket' => $bucketName, // REQUIRED 'CORSConfiguration' => [ // REQUIRED 'CORSRules' => [ // REQUIRED [ 'AllowedHeaders' => ['Authorization'], 'AllowedMethods' => ['POST', 'GET', 'PUT'], // REQUIRED 'AllowedOrigins' => ['*'], // REQUIRED 'ExposeHeaders' => [], 'MaxAgeSeconds' => 3000 ], ], ] ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }