Configuração de buckets do Amazon S3 com o AWS SDK for PHP versão 3 - AWS SDK for PHP

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configuração de buckets do Amazon S3 com o AWS SDK for PHP versão 3

O compartilhamento de recursos de origem cruzada (CORS) define uma maneira de os aplicativos web clientes carregados em um domínio interagirem com recursos em outro domínio. Com o suporte do CORS no Amazon S3, você pode criar aplicações web no lado do cliente com o Amazon S3 e permitir seletivamente o acesso de origem cruzada aos seus recursos do Amazon S3.

Para obter mais informações sobre como usar a configuração do CORS com um bucket do Amazon S3, consulte Compartilhamento de recursos entre origens (CORS).

Os exemplos a seguir mostram como:

  • Obtenha a configuração CORS para um bucket usando GetBucketCors.

  • Defina a configuração CORS para um bucket usando PutBucketCors.

Todo o código de exemplo do AWS SDK for PHP está disponível aqui em GitHub.

Credenciais

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Credenciais. Em seguida, importe o AWS SDK for PHP, conforme descrito em Uso básico.

Obter a configuração do CORS

Crie um arquivo PHP com o seguinte código. Primeiro crie um serviço de cliente AWS.S3 e, em seguida, chame o método getBucketCors e especifique o bucket cuja configuração de CORS você deseja.

O único parâmetro obrigatório é o nome do bucket selecionado. Se o bucket tiver uma configuração do CORS, essa configuração será retornada pelo Amazon S3 como um Objeto CORSRules.

Importações

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

Código de exemplo

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

Definir a configuração do CORS

Crie um arquivo PHP com o seguinte código. Primeiro crie um serviço de cliente do AWS.S3. Depois, chame o método putBucketCors e especifique o bucket que tenha a configuração do CORS a ser definida e o CORSConfiguration como um objeto JSON CORSRules.

Importações

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

Código de exemplo

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