Configuración de los buckets de Amazon S3 con la versión 3 de AWS SDK for PHP - AWS SDK for PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de los buckets de Amazon S3 con la versión 3 de AWS SDK for PHP

El uso compartido de recursos entre orígenes (CORS) define una manera para que las aplicaciones web de los clientes cargadas en un dominio interactúen con los recursos de un dominio diferente. Gracias a la compatibilidad con CORS en Amazon S3, puede desarrollar aplicaciones web del lado del cliente completas con Amazon S3 y permitir el acceso entre orígenes a sus recursos de Amazon S3 de forma selectiva.

Para obtener más información sobre el uso de la configuración CORS con un bucket de Amazon S3, consulte Uso compartido de recursos entre orígenes (CORS).

Los siguientes ejemplos muestran cómo:

  • Obtenga la configuración CORS para un depósito utilizando GetBucketCors.

  • Establezca la configuración CORS para un depósito utilizando. PutBucketCors

Todo el código de ejemplo para el AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Credenciales. A continuación, importe AWS SDK for PHP, como se indica en Uso básico.

Obtener la configuración CORS

Cree un archivo PHP con el siguiente código. En primer lugar, cree un servicio de cliente AWS.S3, luego llame al método getBucketCors y especifique el bucket cuya configuración CORS desea.

El único parámetro necesario es el nombre del bucket seleccionado. Si el bucket tiene actualmente una configuración CORS, Amazon S3 devuelve dicha configuración como objeto CORSRules.

Importaciones

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

Código de muestra

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

Establecer la configuración CORS

Cree un archivo PHP con el siguiente código. En primer lugar, cree un servicio de cliente de AWS.S3. A continuación, llame al método putBucketCors y especifique el bucket cuya configuración CORS desea establecer y la CORSConfiguration como objeto JSON CORSRules.

Importaciones

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

Código de muestra

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