Creazione e utilizzo dei bucket di Amazon S3 conAWS SDK for PHPVersione 3 - 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à.

Creazione e utilizzo dei bucket di Amazon S3 conAWS SDK for PHPVersione 3

Gli esempi seguenti mostrano come:

  • Restituire un elenco di bucket di proprietà del mittente autenticato della richiesta utilizzando ListBuckets.

  • Creare un nuovo bucket utilizzando CreateBucket.

  • Aggiungere un oggetto a un bucket utilizzando PutObject.

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configurare ilAWScredenziali, come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHPcome descritto inUtilizzo di base.

Importazioni

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

Creazione di un elenco di bucket

Crea un file PHP con il codice seguente. Innanzitutto, crea un servizio client AWS.S3 che specifichiAWSRegione e versione. Quindi chiamalistBucketsmetodo, che restituisce tutti i bucket di Amazon S3 di proprietà del mittente della richiesta come array di strutture bucket.

Codice di esempio

$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); //Listing all S3 Bucket $buckets = $s3Client->listBuckets(); foreach ($buckets['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; }

Creare un bucket

Crea un file PHP con il codice seguente. Innanzitutto, crea un servizio client AWS.S3 che specifichiAWSRegione e versione. Quindi chiama il metodo createBucket con un array come parametro. L'unico campo obbligatorio è la chiave "Bucket", con un valore stringa per il nome del bucket che desideri creare. Tuttavia, è possibile specificareAWSRegione con il campo «CreateBucketConfiguration». In caso di esito positivo, questo metodo restituisce il "Percorso" del bucket.

Codice di esempio

function createBucket($s3Client, $bucketName) { try { $result = $s3Client->createBucket([ 'Bucket' => $bucketName, ]); return 'The bucket\'s location is: ' . $result['Location'] . '. ' . 'The bucket\'s effective URI is: ' . $result['@metadata']['effectiveUri']; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function createTheBucket() { $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2006-03-01' ]); echo createBucket($s3Client, 'my-bucket'); } // Uncomment the following line to run this code in an AWS account. // createTheBucket();

Aggiunta di un oggetto in un bucket

Per aggiungere file al nuovo bucket, crea un file PHP con il seguente codice.

Nella riga di comando, esegui questo file e passa il nome del bucket in cui desideri caricare il tuo file come stringa, seguito dal percorso completo del file da caricare.

Codice di esempio

$USAGE = "\n" . "To run this example, supply the name of an S3 bucket and a file to\n" . "upload to it.\n" . "\n" . "Ex: php PutObject.php <bucketname> <filename>\n"; if (count($argv) <= 2) { echo $USAGE; exit(); } $bucket = $argv[1]; $file_Path = $argv[2]; $key = basename($argv[2]); try { //Create a S3Client $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $result = $s3Client->putObject([ 'Bucket' => $bucket, 'Key' => $key, 'SourceFile' => $file_Path, ]); } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }