Crear un bucket - Amazon Simple Storage Service

¡Bienvenido a la nueva Guía del usuario de Amazon S3! La guía del usuario de Amazon S3 combina información e instrucciones de las tres guías retiradas: Guía para desarrolladores de Amazon S3, Guía del usuario de la consola de Amazon S3y Guía de introducción Amazon S3.

Crear un bucket

Para cargar los datos en Amazon S3, primero tiene que crear un bucket de Amazon S3 en una de las regiones de AWS. Al crear un bucket, debe elegir un nombre de bucket y una región. Si lo desea, puede elegir otras opciones de administración de almacenamiento para el bucket. Después de crear un bucket, no se puede cambiar su nombre ni su región. Para obtener información acerca de la nomenclatura de los buckets, consulte Reglas de nomenclatura de buckets.

La cuenta de AWS que crea el bucket es su propietaria. Puede cargar la cantidad de objetos que desee en el bucket. De forma predeterminada, puede crear hasta 100 buckets en cada una de sus cuentas de AWS. Si necesita más buckets, puede presentar una solicitud de aumento del límite del servicio para aumentar el límite de buckets de la cuenta hasta un máximo de 1000 buckets. Para obtener información acerca de cómo solicitar un aumento del límite de buckets, consulte Cuotas de los servicios de AWS en la Referencia general de AWS. En un bucket, puede almacenar la cantidad de objetos que desee.

Puede utilizar la consola de Amazon S3, las API de Amazon S3, la CLI de AWS o los SDK de AWS para crear un bucket.

  1. Inicie sesión en la consola de administración de AWS y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Elija Create bucket (Crear bucket).

    Se abrirá el asistente Crear bucket (Crear bucket).

  3. En Bucket name (Nombre del bucket), escriba un nombre compatible con DNS para el bucket.

    El nombre del bucket debe:

    • Ser único en todo Amazon S3.

    • Tener entre 3 y 63 caracteres.

    • No contiene caracteres en mayúsculas.

    • Comenzar por una letra minúscula o un número.

    Una vez que haya creado el bucket, no podrá modificar su nombre. Para obtener información acerca de la nomenclatura de los buckets, consulte Reglas de nomenclatura de buckets.

    importante

    Evite incluir información confidencial, como números de cuenta, en el nombre del bucket. El nombre del bucket será visible en las URL que señalan a los objetos almacenados en él.

  4. En Region (Región), elija la región de AWS donde desee que se encuentre el bucket.

    Puede seleccionar una región cercana para minimizar la latencia y los costos, así como para satisfacer los requisitos reglamentarios. Los objetos almacenados en una región nunca abandonarán esa región salvo que usted los transfiera de forma específica a otra. Para ver una lista de las regiones de Amazon S3 AWS, consulte Puntos de enlace del servicio de AWS en la referencia general de Amazon Web Services.

  5. En Configuración del bucket para Block Public Access, elija la configuración de Block Public Access que desee aplicar al bucket.

    Le recomendamos que deje todas las configuraciones habilitadas a menos que sepa que necesita desactivar una o varias de ellas para su caso de uso, como alojar un sitio web público. La configuración de acceso público de bloqueo que habilite para el bucket también se habilitará para todos los puntos de acceso que cree en el bucket. Para obtener más información acerca del bloqueo del acceso público, consulte Bloquear el acceso público a su almacenamiento de Amazon S3.

  6. (Opcional) Si desea habilitar el bloqueo de objetos en S3, haga lo siguiente:

    1. Elija Configuración avanzada y lea el mensaje que aparece.

      importante

      Solo se puede habilitar Bloqueo de objetos en S3 para un bucket cuando se crea. Si habilita Bloqueo de objetos para el bucket, no podrá deshabilitarlo más adelante. Al habilitar Bloqueo de objetos, también se habilita el control de versiones para el bucket. Después de habilitar Bloqueo de objetos para el bucket, debe configurar los valores de Bloqueo de objetos antes de proteger los objetos del bucket. Para obtener más información acerca de cómo configurar la protección para objetos, consulte Usar Bloqueo de objetos de S3.

    2. Si desea habilitar el bloqueo de objetos, escriba enable en el cuadro de texto y elija Confirm (Confirmar).

    Para obtener más información acerca de la función de bloqueo de objetos de S3, consulte Usar Bloqueo de objetos de S3.

  7. Elija Create bucket (Crear bucket).

Si usa los SDK de AWS para crear un bucket, debe crear un cliente y luego usar el cliente para enviar una solicitud para crear un bucket. Como práctica recomendada, debe crear su cliente y el bucket en la misma región de AWS. Si no especifica una región al crear un cliente o un bucket, Amazon S3 utiliza la región predeterminada, EE. UU. Este (Norte de Virginia).

Para crear un cliente para obtener acceso a un punto de enlace de doble pila, debe especificar una región de AWS. Para obtener más información, consulte Puntos de enlace de doble pila. Para ver una lista de las regiones de AWS disponibles, consulte Regiones y puntos de enlace en la Referencia general de AWS.

Al crear un cliente, la región se asigna al punto de enlace específico de la región. El cliente utiliza este punto de enlace para comunicarse con Amazon S3: s3.<region>.amazonaws.com. Si su región se lanzó después del 20 de marzo de 2019, su cliente y el bucket deben estar en la misma región. Sin embargo, puede utilizar un cliente en la región EE. UU. Este (Norte de Virginia) para crear un bucket en cualquier región que se haya lanzado antes del 20 de marzo de 2019. Para obtener más información, consulte Puntos de enlace heredados.

Los ejemplos de códigos de los SDK de AWS realizan las siguientes tareas:

  • Crear un cliente al especificar explícitamente una región de AWS: en el ejemplo, el cliente utiliza el punto de enlace s3.us-west-2.amazonaws.com para comunicarse con Amazon S3. Puede especificar cualquier región de AWS. Para ver una lista de las regiones de AWS, consulte Regiones y puntos de enlace en la Referencia general de AWS.

  • Enviar una solicitud de creación de bucket al especificar solo un nombre de bucket: el cliente envía una solicitud a Amazon S3 para crear el bucket en la región donde usted creó un cliente.

  • Recuperar la información acerca de la ubicación del bucket: Amazon S3 almacena información de la ubicación del bucket en el subrecurso location asociado con el bucket.

Java

Este ejemplo muestra cómo crear un bucket de Amazon S3 con AWS SDK para Java. Para obtener instrucciones sobre la creación y comprobación de una muestra funcional, consulte Prueba de los ejemplos de código de Java de Amazon S3.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.GetBucketLocationRequest; import java.io.IOException; public class CreateBucket2 { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); if (!s3Client.doesBucketExistV2(bucketName)) { // Because the CreateBucketRequest object doesn't specify a region, the // bucket is created in the region specified in the client. s3Client.createBucket(new CreateBucketRequest(bucketName)); // Verify that the bucket was created by retrieving it and checking its location. String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName)); System.out.println("Bucket location: " + bucketLocation); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Para obtener información acerca de cómo crear y probar una muestra funcional, consulte Ejecución de ejemplos de código .NET de Amazon S3.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CreateBucketTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); CreateBucketAsync().Wait(); } static async Task CreateBucketAsync() { try { if (!(await AmazonS3Util.DoesS3BucketExistAsync(s3Client, bucketName))) { var putBucketRequest = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; PutBucketResponse putBucketResponse = await s3Client.PutBucketAsync(putBucketRequest); } // Retrieve the bucket location. string bucketLocation = await FindBucketLocationAsync(s3Client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task<string> FindBucketLocationAsync(IAmazonS3 client) { string bucketLocation; var request = new GetBucketLocationRequest() { BucketName = bucketName }; GetBucketLocationResponse response = await client.GetBucketLocationAsync(request); bucketLocation = response.Location.ToString(); return bucketLocation; } } }
Ruby

Para obtener información acerca de cómo crear y probar una muestra funcional, consulte Uso de AWS SDK para Ruby, versión 3.

require 'aws-sdk-s3' # Creates a bucket in Amazon S3. # # @param s3_client [Aws::S3::Client] An initialized Amazon S3 client. # @param bucket_name [String] The bucket's name. # @return [Boolean] true if the bucket was created; otherwise, false. # @example # s3_client = Aws::S3::Client.new(region: 'us-east-1') # exit 1 unless bucket_created?(s3_client, 'doc-example-bucket') def bucket_created?(s3_client, bucket_name) s3_client.create_bucket(bucket: bucket_name) rescue StandardError => e puts "Error while creating the bucket named '#{bucket_name}': #{e.message}" end

También puede utilizar la interfaz de línea de comandos de AWS (CLI de AWS) para crear un bucket de S3. Para obtener más información, consulte create-bucket en la Referencia de comandos de la CLI de AWS.

Para obtener más información sobre la CLI de AWS, consulte ¿Qué es la interfaz de línea de comandos de AWS? en la Guía del usuario de la interfaz de línea de comandos de AWS.