Configurazione dei bucket Amazon S3 con la versione 3 AWS SDK for PHP - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dei bucket Amazon S3 con la versione 3 AWS SDK for PHP

La funzionalità CORS (Cross-Origin Resource Sharing, condivisione delle risorse multiorigine) definisce un metodo con cui le applicazioni Web dei clienti caricate in un dominio possono interagire con le risorse situate in un dominio differente. Con il supporto CORS in Amazon S3, puoi creare ricche applicazioni Web lato client con Amazon S3 e consentire selettivamente l'accesso multiorigine alle tue risorse Amazon S3.

Per ulteriori informazioni sull'utilizzo della configurazione CORS con un bucket Amazon S3, consulta Cross-Origin Resource Sharing (CORS).

Gli esempi seguenti mostrano come:

  • Ottieni la configurazione CORS per un bucket utilizzando. GetBucketCors

  • Imposta la configurazione CORS per un bucket utilizzando. PutBucketCors

Tutto il codice di esempio per AWS SDK for PHP è disponibile qui. GitHub

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Ottieni la configurazione CORS

Crea un file PHP con il codice seguente. Innanzitutto, crea un servizio client AWS.S3, quindi richiama il metodo getBucketCors e specifica il bucket con la configurazione CORS desiderata.

L'unico parametro obbligatorio è il nome del bucket selezionato. Se il bucket ha attualmente una configurazione CORS, tale configurazione viene restituita da Amazon S3 come oggetto CORSRules.

Importazioni

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

Codice di esempio

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

Imposta la configurazione CORS

Crea un file PHP con il codice seguente. Innanzitutto, crea un servizio client AWS.S3. Quindi, richiama il metodo putBucketCors e specifica il bucket con la configurazione CORS che desideri impostare e il valore CORSConfiguration come un oggetto JSON CORSRules.

Importazioni

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

Codice di esempio

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