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