Trabalhar com o contentor de raiz

Um contentor de raiz serve como um contentor predefinido para a sua conta de armazenamento. Uma conta de armazenamento pode ter um contentor de raiz. O contentor de raiz tem de ser criado explicitamente e tem de ter o nome $root.

Um blob armazenado no contentor de raiz pode ser resolvido sem referenciar o nome do contentor de raiz, para que um blob possa ser abordado no nível superior da hierarquia da conta de armazenamento. Por exemplo, pode referenciar um blob que reside no contentor de raiz da seguinte forma:

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

Gerir o Contentor de Raiz

Para utilizar o contentor de raiz com a sua conta de armazenamento, crie um novo contentor com o nome $root. O seguinte pedido de exemplo mostra como criar o contentor de raiz:

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=  

Também pode eliminar o contentor de raiz se já não precisar do mesmo.

À semelhança de outros contentores, o contentor de raiz pode ser disponibilizado para acesso público anónimo. Pode tornar o contentor público ao definir o x-ms-blob-public-access cabeçalho quando o contentor é criado ou ao chamar Definir ACL de Contentor depois de já existir. Veja Restringir o Acesso a Contentores e Blobs para obter mais informações.

Se o contentor de raiz estiver presente, será apresentado quando executar a operação Contentores de Lista na conta de armazenamento.

Quando executa uma operação Blobs de Lista no contentor de raiz, o contentor de raiz não aparece nos URLs de recursos dos blobs devolvidos. A sintaxe do pedido seguinte mostra como chamar List Blobs no contentor de raiz:

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

Importante

Um blob no contentor de raiz não pode incluir uma barra (/) no respetivo nome.

Exemplos

Os exemplos seguintes mostram como trabalhar com recursos de contentores e blobs, incluindo o contentor de raiz:

Operações GET

Para listar os contentores numa conta de armazenamento:

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

Para obter as propriedades de um contentor:

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

Para listar os blobs num contentor com o nome mycontainer:

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

Para listar os blobs no contentor de raiz:

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

Para ler um blob com o nome myfile de um contentor com o nome mycontainer:

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

Para ler um blob com o nome myphoto do contentor de raiz:

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

Também pode referenciar explicitamente o contentor de raiz:

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

Para ler metadados de blobs num blob no contentor de raiz:

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

Também pode referenciar explicitamente o contentor de raiz:

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

Nota

Tenha cuidado para evitar incluir uma barra à direita (/) ao referenciar um blob no contentor de raiz. Por exemplo, um URL como o seguinte agora resulta no código de estado 400 (Pedido Incorreto):

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

No exemplo acima, o serviço Blob lê o nome do contentor como myblob e espera ver um nome de blob após a barra à direita. O pedido está mal formado devido ao nome do blob em falta.

O seguinte URL é válido para uma operação num blob no contentor de raiz:

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

Operações PUT

Para criar um contentor com o nome mycontainer:

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

Para criar um blob com o nome myblob no contentor de raiz:

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

Também pode especificar explicitamente o contentor de raiz:

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

Para criar um blob com o nome myblob num contentor com o nome mycontainer:

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

Para criar um blob com o nome photos/myphoto num contentor com o nome mycontainer:

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

Para definir metadados num blob com o nome myblob no contentor de raiz:

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

Operações DELETE

Para eliminar um contentor com o nome mycontainer:

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

Para eliminar o contentor de raiz:

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

Para eliminar o blob myblob do contentor de raiz:

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

Também pode especificar explicitamente o contentor de raiz:

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

Consulte também

Operações HTTP nos Recursos do Serviço blob
Nomenclatura e Referência de Contentores, Blobs e Metadados
Versões para os Serviços de Armazenamento do Azure