Nomeando e referenciando contêineres, blobs e metadados

Este tópico descreve como nomear e fazer referência a contêineres, blobs, metadados e instantâneos. Uma conta de armazenamento pode conter zero ou mais contêineres. Um contêiner contém propriedades, metadados e zero ou mais blobs. Um blob é qualquer entidade única composta de dados binários, propriedades e metadados.

Nomes de recurso

O URI para fazer referência a um contêiner ou um blob deve ser exclusivo. Como cada nome de conta é exclusivo, duas contas podem ter contêineres com o mesmo nome. No entanto, em uma determinada conta de armazenamento, cada contêiner deve ter um nome exclusivo. Cada blob em um determinado contêiner também deve ter um nome exclusivo dentro do contêiner em questão.

Se você tentar criar um contêiner ou blob com um nome que viole as regras de nomenclatura, a solicitação falhará com o código de status 400 (Solicitação Incorreta).

Importante

Os nomes de contêiner e blob são transmitidos ao serviço Blob em um URL. Determinados caracteres devem ser codificados por porcentagem para aparecerem em uma URL, usando UTF-8 (preferencial) ou MBCS. essa codificação ocorre automaticamente quando você usa as bibliotecas de cliente do Azure Armazenamento. No entanto, há determinados caracteres que não são válidos em caminhos URL mesmo quando codificados. Esses caracteres não podem aparecer em nomes de contêiner ou blob. Os pontos de código, como \uE000, quando válidos em nomes de arquivo NTFS, não são caracteres Unicode válidos, de modo que não podem ser usados. Além disso, não há permissão também para alguns caracteres ASCII ou Unicode, como caracteres de controle (0x00 a 0x1F, \u0081, etc.). Para regras que regem as cadeias de caracteres Unicode em HTTP/1.1, consulte rfc 2616, seção 2,2: regras básicas e RFC 3987.

Nomes de contêiner

Um nome de contêiner deve ser um nome DNS válido e estar em conformidade com as seguintes regras de nomenclatura:

  • Os nomes de contêiner devem começar ou terminar com uma letra ou número e podem conter apenas letras, números e o caractere de traço (-).

  • Cada caractere traço (-) deve ser imediatamente precedido e seguido por uma letra ou número. Não são permitidos traços consecutivos em nomes de contêiner.

  • Todas as letras do nome de um contêiner devem ser minúsculas.

  • Os nomes de contêiner devem ter de 3 a 63 caracteres.

Nomes de blob

Um nome de blob deve obedecer às seguintes regras de nomeação:

  • Um nome de blob deve conter qualquer combinação de caracteres.

  • um nome de blob deve ter pelo menos um caractere e não pode ter mais de 1.024 caracteres de comprimento para blobs no Azure Armazenamento.

    o emulador de Armazenamento do Azure dá suporte a nomes de blob de até 256 caracteres de comprimento. Para obter mais informações, consulte usar o emulador de armazenamento do Azure para desenvolvimento e teste.

  • Os nomes de blob diferenciam maiúsculas de minúsculas.

  • Os caracteres reservados de URL precisam ser escapados corretamente.

  • O número de segmentos de caminho que incluem o nome do blob não pode exceder 254. Um segmento de caminho é a cadeia entre caracteres delimitadores consecutivos (por exemplo, a barra "/") que corresponde ao nome de um diretório virtual.

Observação

Evite nomes de blob que terminem com um ponto (.), uma barra (/), ou uma sequência ou combinação dos dois. Nenhum segmento de caminho deve terminar com um ponto (.).

O serviço Blob tem como base um esquema de armazenamento simples, e não um esquema hierárquico. No entanto, você pode especificar um delimitador de caractere ou cadeia de caracteres em um nome de blob para criar uma hierarquia virtual. Por exemplo, a lista a seguir mostra nomes de blob válidos e exclusivos. Observe que uma cadeia de caracteres pode ser válida como um nome de blob e como um nome de diretório virtual no mesmo contêiner:

  • /a

  • /a.txt

  • /a/b

  • /a/b.txt

Você pode se beneficiar do caractere delimitador ao enumerar blobs.

Nomes de metadados

Os metadados de um contêiner ou recurso de blob são armazenados como pares de nome/valor associados ao recurso. Os nomes de metadados devem aderir às regras de nomenclatura para identificadores C#.

Observe que os nomes de metadados preservam a forma com a qual foram criados, mas não diferenciam maiúsculas de minúsculas quando definidos ou lidos. Se dois ou mais cabeçalhos de metadados com o mesmo nome forem enviados para um recurso, o serviço Blob retornará o código de status 400 (Solicitação Incorreta).

Sintaxe do URI de recurso

Cada recurso tem um URI base correspondente, que se refere ao próprio recurso.

Para a conta de armazenamento, o URI base inclui apenas o nome da conta:

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

Para um contêiner, o URI base inclui o nome da conta e o nome do contêiner:

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

Para um blob, o URI base inclui o nome da conta, o nome do contêiner e o nome do blob:

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

Uma conta de armazenamento pode ter um contêiner raiz, um contêiner padrão que pode ser omitido do URI. Um blob no contêiner raiz pode ser referenciado sem nomear o contêiner, ou o contêiner raiz pode ser referenciado explicitamente por seu nome ($root). Consulte trabalhando com o contêiner raiz para obter mais informações. Os URIs a seguir fazem referência a um blob no contêiner raiz:

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

Instantâneos de blob

Um instantâneo é uma versão somente leitura de um blob armazenado como ele estava no momento em que o instantâneo foi criado. Você pode usar instantâneos para criar um backup ou ponto de verificação de um blob. Um nome de blob de instantâneo inclui o URI do blob base, mais o valor de data e hora que indica quando o instantâneo foi criado.

Por exemplo, suponha que um blob tenha o seguinte URI:

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

O URI para um instantâneo desse blob é formado como se segue:

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Confira também