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