Trabalhando com o contêiner raiz

Um contêiner raiz funciona como um contêiner padrão para sua conta de armazenamento. Uma conta de armazenamento pode ter um contêiner raiz. O contêiner raiz deve ser explicitamente criado e deve ser chamado de $root.

Um blob armazenado no contêiner raiz pode ser resolvido sem referência ao nome do contêiner raiz, de modo que um blob pode ser resolvido no nível superior da hierarquia da conta de armazenamento. Por exemplo, faça referência a um blob que resida no contêiner raiz da seguinte maneira:

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

Gerenciando o contêiner raiz

Para usar o contêiner raiz com sua conta de armazenamento, crie um novo contêiner denominado $root. A solicitação de exemplo a seguir mostra como criar o contêiner 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=  

Você também pode excluir o contêiner raiz se ele não for mais necessário.

Assim como outros contêineres, o contêiner raiz pode ser disponibilizado para acesso público anônimo. Você pode tornar o contêiner público definindo o x-ms-blob-public-access cabeçalho quando o contêiner é criado ou chamando Definir ACL de Contêiner depois que ele já existir. Consulte Restringir o acesso aos contêineres e Blobs (a página pode estar em inglês) para obter mais informações.

Se o contêiner raiz estiver presente, ele aparecerá quando você executar a operação Listar Contêineres na conta de armazenamento.

Quando você executa uma operação de Blobs de Lista no contêiner raiz, o contêiner raiz não aparece nas URLs de recurso para os blobs retornados. A sintaxe de solicitação a seguir mostra como chamar List Blobs no contêiner raiz:

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

Importante

Um blob no contêiner raiz não pode incluir uma barra (/) no nome.

Exemplos

Os exemplos a seguir mostram como trabalhar com os recursos do contêiner e blob, incluindo o contêiner raiz:

Operações GET

Para listar os contêineres em uma conta de armazenamento:

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

Para obter as propriedades de um contêiner:

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

Para listar os blobs em um contêiner denominado mycontainer:

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

Para listar os blobs no contêiner raiz:

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

Para ler um blob denominado myfile de um contêiner denominado mycontainer:

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

Para ler um blob denominado myphoto do contêiner raiz:

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

Você também pode fazer referência explicitamente ao contêiner raiz:

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

Para ler os metadados de blob em um blob no contêiner raiz:

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

Você também pode fazer referência explicitamente ao contêiner raiz:

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

Observação

Evite incluir uma barra (/) ao fazer referência a um blob no contêiner raiz. Por exemplo, um URL como a mostrado a seguir agora resulta no código de status 400 (Solicitação Incorreta):

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

No exemplo anterior, o serviço Blob lê o nome do contêiner como myblob e espera ver um nome de blob depois da barra. A solicitação está incorreta devido à ausência do nome do blob.

O URL a seguir é válido para uma operação em um blob no contêiner raiz:

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

Operações PUT

Para criar um contêiner denominado mycontainer:

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

Para criar um blob denominado myblob no contêiner raiz:

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

Você também pode especificar explicitamente o contêiner raiz:

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

Para criar um blob denominado myblob em um contêiner denominado mycontainer:

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

Para criar um blob denominado photos/myphoto em um contêiner denominado mycontainer:

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

Para definir metadados em um blob denominado myblob no contêiner raiz:

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

Operações DELETE

Para excluir um contêiner denominado mycontainer:

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

Para excluir o contêiner raiz:

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

Para excluir o blob myblob do contêiner raiz:

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

Você também pode especificar explicitamente o contêiner raiz:

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

Consulte Também

Operações HTTP nos recursos de serviço Blob
Nomeando e referenciando contêineres, blobs e metadados
Controle de versão para os serviços do Armazenamento do Azure