Creación y utilización de buckets de Amazon S3 con la versión 3 de AWS SDK for PHP - AWS SDK for PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación y utilización de buckets de Amazon S3 con la versión 3 de AWS SDK for PHP

Los siguientes ejemplos muestran cómo:

  • Devuelve una lista de los depósitos propiedad del remitente autenticado de la solicitud que utiliza. ListBuckets

  • Cree un nuevo depósito con. CreateBucket

  • Agrega un objeto a un cubo usando PutObject.

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

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Credentials. A continuación, importe AWS SDK for PHP, como se indica en Uso básico.

Importaciones

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

Obtener una lista de buckets

Cree un archivo PHP con el siguiente código. En primer lugar, cree un servicio cliente AWS.S3 que especifique la región de AWS y la versión. A continuación, llame al método listBuckets, que devuelve todos los buckets de Amazon S3 que pertenecen al remitente de la solicitud como una matriz de estructuras Bucket.

Código de muestra

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

Crear un bucket

Cree un archivo PHP con el siguiente código. En primer lugar, cree un servicio cliente AWS.S3 que especifique la región de AWS y la versión. Llame entonces al método createBucket con una matriz como parámetro. El único campo obligatorio es la clave 'Bucket', con un valor de cadena para el nombre del bucket que desea crear. Sin embargo, puede especificar la AWS región con el campo CreateBucketConfiguration «». Si se ejecuta correctamente, este método devuelve la ubicación del bucket.

Código de muestra

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

Colocar un objeto en un bucket

Para añadir archivos a su nuevo bucket, cree un archivo PHP con el código siguiente.

Ejecute este archivo en la línea de comandos y especificando una cadena con el nombre del bucket en el que desea cargar su archivo, seguido de la ruta completa del archivo que desea cargar.

Código de muestra

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