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

Configuración de los buckets de Amazon S3 con la versión 3 de AWS SDK para 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:

  • Obtener la configuración CORS para un bucket utilizando GetBucketCors.

  • Establecer la configuración CORS para un bucket utilizando PutBucketCors.

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

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación con AWS mediante la versión 3 de AWS SDK para PHP. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.

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