Creazione e utilizzo di 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à.

Creazione e utilizzo di bucket Amazon S3 con la versione 3 AWS SDK for PHP

Gli esempi seguenti mostrano come:

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

  • Crea un nuovo bucket usando. CreateBucket

  • Aggiungi un oggetto a un bucket usando. PutObject

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.

Importazioni

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

Elenco di bucket

Crea un file PHP con il codice seguente. Per prima cosa crea un servizio client AWS.S3 che specifichi la regione e la AWS versione. Quindi chiama il listBuckets metodo, che restituisce tutti i bucket Amazon S3 di proprietà del mittente della richiesta come matrice di strutture di 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"; }

Creazione di un bucket

Crea un file PHP con il codice seguente. Per prima cosa crea un servizio client AWS.S3 che specifichi la regione e la versione. AWS 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, puoi specificare la AWS regione 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();

Metti un oggetto in un secchio

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"; }