Trabajar con el contenedor raíz

Un contenedor raíz sirve como contenedor predeterminado para la cuenta de almacenamiento. Una cuenta de almacenamiento puede tener un contenedor raíz. El contenedor raíz debe crearse explícitamente y se le debe asignar el nombre $root.

Un blob almacenado en el contenedor raíz se puede resolver sin hacer referencia al nombre del contenedor raíz, de forma que un blob se puede resolver en el nivel superior de la jerarquía de la cuenta de almacenamiento. Por ejemplo, se puede hacer referencia a un blob que reside en el contenedor raíz de la siguiente manera:

https://myaccount.blob.core.windows.net/mywebpage.html  

Administrar el contenedor raíz

Para utilizar el contenedor raíz con la cuenta de almacenamiento, cree un nuevo contenedor denominado $root. La solicitud de ejemplo siguiente muestra cómo crear el contenedor raíz:

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  
x-ms-blob-public-access: container  
Authorization: SharedKey myaccount:Z5043vY9MesKNh0PNtksNc9nbXSSqGHueE00JdjidOQ=  

También puede eliminar el contenedor raíz si ya no lo necesita.

Como otros contenedores, el contenedor raíz puede estar disponible para acceso público anónimo. Puede hacer que el contenedor sea público estableciendo el x-ms-blob-public-access encabezado cuando se crea el contenedor o llamando a Set Container ACL después de que ya exista. Para obtener más información, consulte Acceso restringido a contenedores y blobs .

Si el contenedor raíz está presente, aparecerá al realizar la operación Enumerar contenedores en la cuenta de almacenamiento.

Al realizar una operación Enumerar blobs en el contenedor raíz, el contenedor raíz no aparece en las direcciones URL de recursos de los blobs devueltos. En la siguiente sintaxis de solicitud se muestra cómo llamar a List Blobs en el contenedor raíz:

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list HTTP/1.1  

Importante

Los nombres de los blobs del contenedor raíz no pueden incluir barras diagonales (/).

Ejemplos

En los ejemplos siguientes se muestra cómo trabajar con los recursos de contenedor y de blob, incluido el contenedor raíz:

Operaciones GET

Para obtener los contenedores de una cuenta de almacenamiento:

GET https://myaccount.blob.core.windows.net/?comp=list  

Para obtener las propiedades de un contenedor:

GET/HEAD https://myaccount.blob.core.windows.net/mycontainer?restype=container  

Para obtener los blobs de un contenedor denominado mycontainer:

GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list  

Para obtener los blobs del contenedor raíz:

GET https://myaccount.blob.core.windows.net/$root?restype=container&comp=list  

Para leer un blob denominado myfile de un contenedor denominado mycontainer:

GET https://myaccount.blob.core.windows.net/mycontainer/myfile  

Para leer un blob denominado myphoto del contenedor raíz:

GET https://myaccount.blob.core.windows.net/myphoto  

También puede hacer referencia explícitamente al contenedor raíz:

GET https://myaccount.blob.core.windows.net/$root/myphoto  

Para leer los metadatos de un blob del contenedor raíz:

GET https://myaccount.blob.core.windows.net/myphoto?comp=metadata  

También puede hacer referencia explícitamente al contenedor raíz:

GET https://myaccount.blob.core.windows.net/$root/myphoto?comp=metadata  

Nota:

Tenga cuidado de no incluir una barra diagonal final (/) cuando haga referencia a un blob del contenedor raíz. Por ejemplo, una dirección URL como la siguiente produce el código de estado 400 (Solicitud incorrecta):

https://myaccount.blob.core.windows.net/myblob/

En el ejemplo anterior, el servicio Blob lee el nombre del contenedor como myblob y espera encontrarse un nombre de blob detrás de la barra diagonal final. La solicitud es incorrecta porque falta el nombre del blob.

La dirección URL siguiente es válida para una operación en un blob del contenedor raíz:

https://myaccount.blob.core.windows.net/myblob

Operaciones PUT

Para crear un contenedor denominado mycontainer:

  
PUT https://myaccount.blob.core.windows.net/mycontainer?restype=container  

Para crear un blob denominado myblob en el contenedor raíz:

  
PUT https://myaccount.blob.core.windows.net/myblob  

También puede especificar explícitamente el contenedor raíz:

  
PUT https://myaccount.blob.core.windows.net/$root/myblob  

Para crear un blob denominado myblob en un contenedor denominado mycontainer:

PUT https://myaccount.blob.core.windows.net/mycontainer/myblob  

Para crear un blob denominado photos/myphoto en un contenedor denominado mycontainer:

PUT https://myaccount.blob.core.windows.net/mycontainer/photos/myphoto  

Para establecer los metadatos en un blob denominado myblob del contenedor raíz:

  
PUT https://myaccount.blob.core.windows.net/myblob?comp=metadata  

Operaciones DELETE

Para eliminar un contenedor denominado mycontainer:

  
DELETE https://myaccount.blob.core.windows.net/mycontainer?restype=container  

Para eliminar el contenedor raíz:

  
DELETE https://myaccount.blob.core.windows.net/$root?restype=container  

Para eliminar el blob myblob del contenedor raíz:

  
DELETE https://myaccount.blob.core.windows.net/myblob  

También puede especificar explícitamente el contenedor raíz:

  
DELETE https://myaccount.blob.core.windows.net/$root/myblob  

Consulte también

Operaciones HTTP en los recursos del servicio BLOB
Asignar nombres y hacer referencia a contenedores, blobs y metadatos
Control de versiones para los servicios de Azure Storage