Creación de un bucket
Funciones
Esta operación se utiliza para crear un bucket con un nombre especificado.
- De forma predeterminada, un usuario puede tener un máximo de 100 los bucket.
- El nombre de un bucket eliminado se puede reutilizar para un bucket o un sistema de archivos paralelo al menos 30 minutos después de la eliminación.
- Al crear un bucket en OBS, puede habilitar el modo multi-AZ para el bucket o deshabilitarlo. Con el modo multi-AZ desactivado, los datos en un bucket se almacenan en una AZ única de forma predeterminada. Con el modo multi-AZ habilitado, los datos en un bucket se almacenan de forma redundante en múltiples AZ, lo que mejora la confiabilidad. Sin embargo, los bucket creados anteriormente todavía están en el modo de AZ única.
- Puede habilitar WORM cuando cree un bucket, pero no puede habilitar WORM para un bucket existente. En un bucket con WORM habilitado, puede configurar aún más las políticas de retención para los objetos que cargue en este bucket. Para obtener más información, consulte las secciones de WORM. Una vez habilitado, WORM no se puede deshabilitar para un bucket. Cuando creas un bucket con WORM habilitado, OBS activa automáticamente el control de versiones para el bucket y el control de versiones no se puede suspender para ese bucket. Cuando crea un sistema de archivos paralelo, no puede habilitar WORM para él.
Un nombre de bucket debe ser único en OBS. Si un usuario crea un bucket con el mismo nombre que el de un bucket existente en la misma cuenta y en la misma región, se devuelve un código 200 (que indica éxito). En escenarios distintos al anterior, la solicitud para crear un bucket con el mismo nombre que el de uno existente recibirá el código 409 (indicando que ya existe un bucket homónimo). Para establecer una política de control de acceso para el bucket que se va a crear, puede agregar el parámetro x-obs-acl a los encabezados de solicitud.
Clase de almacenamiento
Puede crear los bucket con diferentes clases de almacenamiento. El encabezado x-obs-storage-class en una solicitud de creación de bucket especifica la clase de almacenamiento del bucket. Si no especifica una clase de almacenamiento al cargar un objeto en el bucket, el objeto heredará la clase de almacenamiento del bucket. Las opciones de clase de almacenamiento son las siguientes: STANDARD (Standard), WARM (Infrequent Access), COLD (Archive). Si el encabezado x-obs-storage-class no está en la solicitud, se creará un bucket Standard.
Si la clase de almacenamiento de un objeto no se especifica cuando se carga en un bucket (véase Carga de objetos - PUT), el objeto se almacenará en la clase de almacenamiento predeterminada del bucket.
- OBS Standard cuenta con baja latencia de acceso y alto rendimiento. Es más adecuado para almacenar archivos calientes a los que se accede con frecuencia (múltiples veces al mes). Los posibles escenarios de aplicación incluyen big data, aplicaciones móviles, vídeos de tendencia e imágenes de redes sociales.
- OBS Infrequent Access es más adecuado para almacenar datos de acceso semifrecuente (menos de 12 veces al año) que requieren una respuesta rápida. Los posibles escenarios de aplicación incluyen sincronización o uso compartido de archivos y backup a nivel empresarial. Proporciona la misma durabilidad, latencia de acceso y rendimiento que el estándar, pero a un precio más bajo. El principal inconveniente, sin embargo, es que tiene una disponibilidad más baja que Standard.
- OBS Archive es más adecuado para archivar datos a los que se accede raramente (mediamente una vez al año). Los posibles escenarios de aplicación incluyen el archiving de datos y la retención de datos a largo plazo para el backup. Proporciona almacenamiento seguro, duradero y económico, que puede reemplazar las bibliotecas de cintas. Para mantener los costos bajos, puede tardar horas en restaurar los datos desde el almacenamiento de tipo archivo.
- Deep Archive: The Deep Archive storage class (under restricted open beta testing) is suitable for storing data that is barely (once every few years) accessed. This storage class costs less than the Archive storage class, but takes longer time (usually several hours) to restore data.
Sintaxis de solicitud
1 2 3 4 5 6 7 8 |
PUT / HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.comContent-Length: length Date: date Authorization: authorization x-obs-az-redundancy: 3az <CreateBucketConfiguration xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> <Location>location</Location> </CreateBucketConfiguration> |
Parámetros de solicitud
Esta solicitud no contiene parámetros.
Encabezados de solicitud
La cabecera del mensaje de operación es la misma que la de una petición común. Para más detalles, consulte Tabla 3. Sin embargo, esta solicitud puede contener encabezados adicionales. En la siguiente tabla se describen los encabezados adicionales para esta solicitud.
Encabezado |
Descripción |
Obligatorio |
---|---|---|
x-obs-acl |
Al crear un bucket, puede agregar este encabezado para establecer la política de control de permisos para el bucket. Las políticas comunes predefinidas son las siguientes: private, public-read, public-read-write, public-read-delivered, y public-read-write-delivered (para obtener más información sobre las políticas, consulte la configuración de ACL mediante campos de encabezado en ACLs). Tipo: string |
No |
x-obs-storage-class |
Al crear un bucket, puede agregar este encabezado para especificar la clase de almacenamiento predeterminada para el bucket. Las opciones de clase de almacenamiento son las siguientes: STANDARD (Standard), WARM (Infrequent Access), COLD (Archive). Si este encabezado no está en la solicitud, la clase de almacenamiento del bucket creado es Standard. Tipo: string |
No |
x-obs-grant-read |
Este encabezado otorga el permiso de lectura a todos los usuarios de una cuenta. Le permite enumerar objetos en un bucket, enumerar tareas de varias partes en un bucket, enumerar objetos de varias versiones en un bucket y obtener metadatos del bucket. Tipo: string Ejemplo: x-obs-grant-read:id=Tenant ID |
No |
x-obs-grant-write |
Este encabezado otorga el permiso de escritura a todos los usuarios de una cuenta. Por lo tanto, los usuarios pueden crear, eliminar y sobrescribir todos los objetos de un bucket y pueden inicializar piezas, cargar piezas, copiar piezas, combinar piezas y cancelar tareas de carga de varias piezas. Tipo: string Ejemplo: x-obs-grant-write:id=Tenant ID |
No |
x-obs-grant-read-acp |
Este encabezado otorga el permiso de lectura de ACL a todos los usuarios de una cuenta. Por lo tanto, los usuarios pueden leer la información de ACL del bucket. Tipo: string Ejemplo: x-obs-grant-read-acp:id=Account ID |
No |
x-obs-grant-write-acp |
Este encabezado otorga el permiso de escritura de ACL a todos los usuarios con una cuenta. Por lo tanto, los usuarios pueden modificar la ACL del bucket. Tipo: string Ejemplo: x-obs-grant-write-acp:id=Account ID |
No |
x-obs-grant-full-control |
Este encabezado otorga el permiso de control total a todos los usuarios de una cuenta. Tipo: string Ejemplo: x-obs-grant-full-control:id=Account ID |
No |
x-obs-grant-read-delivered |
Este encabezado otorga el permiso de lectura a todos los usuarios de una cuenta. De forma predeterminada, el permiso de lectura se aplica a todos los objetos del bucket. Tipo: string Ejemplo: x-obs-grant-read-delivered:id=Account ID |
No |
x-obs-grant-full-control-delivered |
Este encabezado otorga el permiso de control total a todos los usuarios de una cuenta. De forma predeterminada, el permiso FULL_CONTROL se aplica a todos los objetos del bucket. Tipo: string Ejemplo: x-obs-grant-full-control-delivered:id=Account ID |
No |
x-obs-az-redundancy |
Esta cabecera se incluye en la solicitud cuando se crea un bucket para habilitar el modo multi-AZ para el bucket. Si esta cabecera no se lleva, el bucket está en el modo de AZ única por defecto. Esta cabecera se lleva para especificar que un bucket recién creado utiliza almacenamiento de multi-AZ. Si la región en la que reside el bucket no admite almacenamiento multi-AZ, el bucket todavía utiliza el almacenamiento de un solo-AZ. Tipo: string Ejemplo: x-obs-az-redundancy:3az |
No |
x-obs-fs-file-interface |
Este encabezado se puede llevar cuando se crea un bucket como un sistema de archivos paralelo. Tipo: string Ejemplo: x-obs-fs-file-interface:Enabled |
No |
x-obs-epid |
ID de proyecto de empresa, que se puede obtener del servicio de proyecto de empresa. El valor es un identificador único universal (UUID). El valor de un proyecto de empresa predeterminado es 0 o no contiene este encabezado. Los usuarios que no han habilitado el servicio de proyecto de empresa tampoco necesitan llevar este encabezado. Tipo: string Ejemplo: x-obs-epid:9892d768-2d13-450f-aac7-ed0e44c2585f |
No |
x-obs-bucket-type |
Puede agregar este encabezado para especificar qué tipo de bucket creará.You can choose to create a bucket or a parallel file system. Tipo: string OBJECT: un bucket POSIX: un sistema de archivos paralelo Ejemplo: x-obs-bucket-type:OBJECT |
No |
x-obs-bucket-object-lock-enabled |
Al crear un bucket, puede usar este encabezado para habilitar WORM para el bucket. Tipo: string Ejemplo: x-obs-bucket-object-lock-enabled:true |
No |
Elementos de solicitud
Esta solicitud puede utilizar elementos adicionales. Para obtener más información acerca de los elementos adicionales, consulte Tabla 2.
Elemento |
Descripción |
Obligatorio |
---|---|---|
Location |
Especifica la región donde se creará un bucket.
Para obtener más información sobre las regiones y los endpoints de OBS, consulte Regiones y puntos de conexión. Tipo: string |
No |
Sintaxis de respuesta
1 2 3 4 |
HTTP/1.1 status_code Location: location Date: date Content-Length: length |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Elementos de respuesta
Esta respuesta no contiene elementos.
Respuestas de error
No se devuelven respuestas de error especiales. Para obtener más información sobre las respuestas de error, consulte Tabla 2.
Ejemplo de solicitud: Creación de un bucket
1 2 3 4 5 6 7 8 9 10 11 |
PUT / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:25:05 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 157 <CreateBucketConfiguration xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> <Location>region</Location> </CreateBucketConfiguration> |
Ejemplo de respuesta: Creación de un bucket
1 2 3 4 5 6 7 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0 |
Ejemplo de solicitud: creación de un bucket (con ACL y la clase de almacenamiento especificados)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
PUT / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:25:05 GMT x-obs-acl:public-read x-obs-storage-class:STANDARD Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 157 <CreateBucketConfiguration xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> <Location>region</Location> </CreateBucketConfiguration> |
Ejemplo de respuesta: creación de un bucket (con ACL y la clase de almacenamiento especificados)
1 2 3 4 5 6 7 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0 |
Ejemplo de solicitud: Creación de un bucket con almacenamiento Multi-AZ
1 2 3 4 5 6 |
PUT / HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.comContent-Length: length Date: date Authorization: authorization x-obs-az-redundancy:3az <CreateBucketConfiguration xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> <Location>region</Location> </CreateBucketConfiguration> |
Ejemplo de respuesta: Creación de un bucket con almacenamiento Multi-AZ
1 2 3 4 5 6 7 8 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT x-obs-az-redundancy:3az Content-Length: 0 |
Ejemplo de solicitud: Creación de un sistema de archivos paralelo
1 2 3 4 5 6 7 8 9 10 11 12 |
PUT / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:25:05 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= Content-Length: 157 x-obs-fs-file-interface: Enabled <CreateBucketConfiguration xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> <Location>region</Location> </CreateBucketConfiguration> |
Ejemplo de respuesta: Creación de un sistema de archivos paralelo
1 2 3 4 5 6 7 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0 |
Ejemplo de solicitud: Creación de un bucket con WORM habilitado
PUT / HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 02:25:05 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw= x-obs-bucket-object-lock-enabled:true Content-Length: 0
Ejemplo de respuesta: Creación de un bucket con WORM habilitado
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 00000184C11AC7A6809F881341842C02 x-reserved-indicator: Unauthorized Location: /examplebucket x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0