Crear un bucket - Amazon Simple Storage Service

Crear un bucket

Para cargar los datos en Amazon S3, primero debe 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 propietaria de este. 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 enviar un aumento del límite de buckets, consulte Service Quotas de AWS en la Referencia general de AWS. En un bucket, puede almacenar la cantidad de objetos que desee.

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

  1. Inicie sesión en la AWS Management Console 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 en la que desea 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 obtener una lista de las Regiones de AWS de Amazon S3, consulte Puntos de enlace de 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 con el objeto de crear un bucket, debe crear un cliente y, luego, utilizar el cliente a fin de enviar una solicitud para crear un bucket. Como práctica recomendada, debe crear el 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 con el objeto de 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.

Con estos ejemplos de códigos de los SDK de AWS, se llevan a cabo las siguientes tareas:

  • Crear un cliente mediante la especificación explícita de 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

En este ejemplo, se muestra cómo crear un bucket de Amazon S3 con AWS SDK for 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 la versión 3 de AWS SDK for Ruby.

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 usar AWS Command Line Interface (AWS CLI) para crear un bucket de S3. Para obtener más información, consulte create-bucket en la Referencia de comandos de la AWS CLI.

Para obtener información sobre AWS CLI, consulte ¿Qué es AWS Command Line Interface? en la Guía del usuario de AWS Command Line Interface.