Compartir a través de


Creación de un contenedor

La operación Create Container crea un nuevo contenedor en la cuenta especificada. Si ya existe un contenedor con el mismo nombre, se produce un error en la operación.

El recurso de contenedor incluye los metadatos y las propiedades del contenedor. No incluye una lista de los blobs del contenedor.

Solicitud

Puede construir la Create Container solicitud como se muestra aquí. Se recomienda usar HTTPS. El nombre del contenedor solo puede incluir caracteres en minúsculas y debe seguir estas reglas de nomenclatura. En la dirección URL, reemplace myaccount por el nombre de la cuenta de almacenamiento.

Método URI de solicitud Versión de HTTP
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1

Solicitud del servicio de almacenamiento emulado

Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Blob Storage como 127.0.0.1:10000, seguido del nombre de la cuenta de almacenamiento emulada.

Método URI de solicitud Versión de HTTP
PUT http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container HTTP/1.1

Para más información, consulte Uso del emulador de Azurite para desarrollo y pruebas locales de Azure Storage.

Parámetros del identificador URI

Puede especificar los siguientes parámetros adicionales en el URI de solicitud.

Parámetro Descripción
timeout Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Blob Storage.

Encabezados de solicitud

Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:

Encabezado de solicitud Descripción
Authorization Necesario. Especifica el esquema de autorización, el nombre de cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date o x-ms-date Necesario. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-meta-name:value Opcional. Par nombre-valor que se va a asociar con el contenedor como metadatos. Nota: A partir de la versión 2009-09-19, los nombres de metadatos deben cumplir las reglas de nomenclatura para los identificadores de C#.
x-ms-blob-public-access Opcional. Especifica si se puede acceder a los datos del contenedor públicamente y el nivel de acceso. Los valores posibles son:

- container: especifica el acceso de lectura público completo para los datos de contenedor y blob. Los clientes pueden enumerar blobs dentro del contenedor a través de una solicitud anónima, pero no pueden enumerar contenedores dentro de la cuenta de almacenamiento.
- blob: Especifica el acceso de lectura público para blobs. Los datos de blobs de este contenedor se pueden leer a través de una solicitud anónima, pero los datos del contenedor no están disponibles. Los clientes no pueden enumerar blobs dentro del contenedor a través de una solicitud anónima.

Si este encabezado no se incluye en la solicitud, los datos del contenedor son privados para el propietario de la cuenta.
x-ms-client-request-id Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para obtener más información, consulte Supervisión de Azure Blob Storage.

Encabezados de solicitud (ámbitos de cifrado)

A partir de la versión 2019-02-02, puede especificar los siguientes encabezados en una solicitud para establecer un ámbito de cifrado predeterminado en un contenedor. Si establece un ámbito de cifrado, se usa automáticamente para cifrar todos los blobs que se cargan en el contenedor.

Encabezado de solicitud Descripción
x-ms-default-encryption-scope Necesario. Ámbito de cifrado que se va a establecer como valor predeterminado en el contenedor.
x-ms-deny-encryption-scope-override Necesario. Los valores son true o false. Establecer este encabezado en true garantiza que todos los blobs cargados en este contenedor usen el ámbito de cifrado predeterminado. Cuando este encabezado es false, un cliente puede cargar un blob con un ámbito de cifrado distinto del ámbito predeterminado.

Cuerpo de la solicitud

Ninguno.

Solicitud de ejemplo

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 201 (Creado).

Para obtener información sobre los códigos de estado, consulte Códigos de estado y error.

Encabezados de respuesta

La respuesta de esta operación incluye los encabezados que se describen en la tabla siguiente. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Encabezado de respuesta Descripción
ETag La ETag del contenedor. Si la versión de la solicitud es 2011-08-18 o posterior, el valor ETag se incluye entre comillas.
Last-Modified Devuelve la fecha y hora en que se modificó por última vez el contenedor. El formato de la fecha sigue las convenciones de RFC 1123. Para obtener más información, vea Representación de valores de fecha y hora en encabezados.

Cualquier operación que modifique el contenedor o sus propiedades o metadatos actualiza la hora de la última modificación. Las operaciones en los blobs no afectan a la hora de última modificación del contenedor.
x-ms-request-id Identifica de forma única la solicitud que se realizó. Puede usarlo para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API.
x-ms-version Indica la versión de Blob Storage que se usa para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 o posterior.
Date Valor de fecha y hora UTC generado por el servicio, que indica la hora en la que se inició la respuesta.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, el encabezado no estará presente en la respuesta.

Response body

Ninguno.

Respuesta de muestra

Response status:  
HTTP/1.1 201 Created  
  
Response headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 23:00:12 GMT  
ETag: “0x8CB14C3E29B7E82”  
Last-Modified: Sun, 25 Sep 2011 23:00:06 GMT  
x-ms-version: 2011-08-18  
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0  

Authorization

La autorización es necesaria al llamar a cualquier operación de acceso a datos en Azure Storage. Puede autorizar la Create Container operación como se describe a continuación.

Importante

Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes a Azure Storage. Microsoft Entra ID proporciona una mayor seguridad y facilidad de uso en comparación con la autorización de clave compartida.

Azure Storage admite el uso de Microsoft Entra ID para autorizar solicitudes a datos de blobs. Con Microsoft Entra ID, puede usar el control de acceso basado en rol de Azure (RBAC de Azure) para conceder permisos a una entidad de seguridad. La entidad de seguridad puede ser un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada de Azure. La entidad de seguridad se autentica mediante Microsoft Entra ID para devolver un token de OAuth 2.0. Después, el token se puede usar para autorizar una solicitud en Blob service.

Para más información sobre la autorización mediante Microsoft Entra ID, consulte Autorización del acceso a blobs mediante Microsoft Entra ID.

Permisos

A continuación se muestra la acción de RBAC necesaria para que un usuario, grupo, identidad administrada o entidad de servicio Microsoft Entra llame a la Create Container operación y el rol RBAC integrado con privilegios mínimos que incluya esta acción:

Para más información sobre cómo asignar roles mediante RBAC de Azure, consulte Asignación de un rol de Azure para el acceso a datos de blobs.

Comentarios

Los contenedores se crean inmediatamente dentro de la cuenta de almacenamiento. No es posible anidar un contenedor dentro de otro.

También se puede crear un contenedor raíz o predeterminado para la cuenta de almacenamiento. El contenedor raíz permite hacer referencia a un blob desde el nivel superior de la jerarquía de cuentas de almacenamiento sin hacer referencia al nombre del contenedor.

Para agregar el contenedor raíz a la cuenta de almacenamiento, cree un nuevo contenedor denominado $root. Construya la solicitud de la forma siguiente:

Request Syntax:  
PUT https://myaccount.blob.core.windows.net/$root?restype=container HTTP/1.1  
  
Request Headers:  
x-ms-version: 2011-08-18  
x-ms-date: Sun, 25 Sep 2011 22:50:32 GMT  
x-ms-meta-Name: StorageSample  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

Puede especificar metadatos para un contenedor al crearlo mediante la inclusión de uno o varios encabezados de metadatos en la solicitud. El formato del encabezado de metadatos es x-ms-meta-name:value.

Si se elimina un contenedor con el mismo nombre cuando Create Container se llama a , el servidor devuelve el código de estado 409 (conflicto) y proporciona información adicional de error que indica que se está eliminando el contenedor.

Facturación

Las solicitudes de precios pueden originarse en clientes que usan API de Blob Storage, ya sea directamente a través de la API REST de Blob Storage o desde una biblioteca cliente de Azure Storage. Estas solicitudes acumulan cargos por transacción. El tipo de transacción afecta a cómo se cobra la cuenta. Por ejemplo, las transacciones de lectura se acumulan en una categoría de facturación diferente a las transacciones de escritura. En la tabla siguiente se muestra la categoría de facturación de Create Container las solicitudes basadas en el tipo de cuenta de almacenamiento:

Operación Tipo de cuenta de almacenamiento Categoría de facturación
Creación de un contenedor Blobs en bloques Premium
De uso general, estándar, v2
De uso general, estándar, v1
Enumerar y Create operaciones de contenedor

Para obtener información sobre los precios de la categoría de facturación especificada, consulte precios Azure Blob Storage.

Consulte también

Autorización de solicitudes a Azure Storage
Estado y códigos de error
Códigos de error de Blob Storage
Nombres y referencias de contenedores, blobs y metadatos
Establecimiento y recuperación de propiedades y metadatos para recursos de blobs
Establecer lista de control de acceso de contenedor