Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
À medida que você cria aplicativos para trabalhar com recursos de dados no Armazenamento de Blobs do Azure, seu código interage principalmente com três tipos de recursos: contas de armazenamento, contêineres e blobs. Este artigo explica esses tipos de recursos e mostra como eles se relacionam entre si. Ele também mostra como o código do aplicativo usa as bibliotecas de cliente do Armazenamento de Blob do Azure para interagir com esses vários recursos.
Tipos de recursos de armazenamento de Blob
As bibliotecas de cliente do Armazenamento de Blobs do Azure permitem que você interaja com três tipos de recursos no serviço de armazenamento:
O diagrama a seguir mostra a relação entre esses recursos:
Contas de armazenamento
Uma conta de armazenamento fornece um namespace exclusivo no Azure para seus dados. Cada objeto que você armazena no Armazenamento do Azure tem um endereço que inclui seu nome de conta exclusivo. A combinação do nome da conta e do ponto de extremidade de Armazenamento Blob forma o endereço base para os objetos da sua conta de armazenamento.
Por exemplo, se sua conta de armazenamento for chamada sampleaccount, o ponto de extremidade padrão para o Armazenamento de Blobs é:
https://sampleaccount.blob.core.windows.net
Para saber mais sobre os tipos de contas de armazenamento, consulte Visão geral da conta de armazenamento do Azure.
Contentores
Um contêiner organiza um conjunto de blobs, semelhante a um diretório em um sistema de arquivos. Uma conta de armazenamento pode incluir um número ilimitado de contêineres e um contêiner pode armazenar um número ilimitado de blobs.
O URI de um contêiner é semelhante a:
https://sampleaccount.blob.core.windows.net/sample-container
Para obter mais informações sobre como nomear contêineres, consulte Nomenclatura e referência de contêineres, blobs e metadados.
Blocos
O Armazenamento do Azure dá suporte a três tipos de blobs:
- Blobs de bloco armazenam texto e dados binários. Os blobs de bloco são compostos por blocos de dados que podem ser gerenciados individualmente. Os blobs de bloco podem armazenar cerca de 190,7 TiB.
- Os blobs de acréscimo são formados por blocos, semelhantes aos blobs de blocos, mas são otimizados para operações de acréscimo. Os blobs de acréscimo são ideais para cenários como o registo de dados de máquinas virtuais.
- Os blobs de página armazenam arquivos de acesso aleatório de até 8 TiB de tamanho. Para obter mais informações sobre blobs de página, consulte Visão geral de blobs de página do Azure
Para obter mais informações sobre os diferentes tipos de blobs, consulte Understanding Block Blobs, Append Blobs e Page Blobs.
O URI de um blob é semelhante a:
https://sampleaccount.blob.core.windows.net/sample-container/sample-blob
Para obter mais informações sobre como nomear blobs, consulte Nomenclatura e referência de contêineres, blobs e metadados.
Trabalhar com recursos de dados usando o SDK do Azure
Os SDKs do Azure contêm bibliotecas que se baseiam na API REST do Azure, permitindo que você interaja com operações da API REST por meio de paradigmas familiares de linguagem de programação. Os SDKs são projetados para simplificar as interações entre seu aplicativo e os recursos do Azure.
Em cenários raros, as aplicações que foram atualizadas para a versão beta mais recente ou a versão geralmente disponível do SDK podem receber uma mensagem de erro InvalidHeaderValue. Este problema pode ocorrer ao usar qualquer uma das bibliotecas de armazenamento. A mensagem de erro é semelhante à amostra seguinte:
HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>InvalidHeaderValue</Code>
<Message>
The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z
</Message>
<HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue>
</Error>
If you've upgraded to the latest beta or generally available version of the SDK and you experience this error, it's recommended that you downgrade to the previous generally available version of the SDK to see if the issue resolves.
Você pode exibir detalhes específicos do SDK nos seguintes locais:
If the issue persists, or if the recommendation is not feasible, open a support ticket to explore further options.
Nas bibliotecas de cliente do Armazenamento de Blobs do Azure, cada tipo de recurso é representado por uma ou mais classes associadas. Essas classes fornecem operações para trabalhar com um recurso de Armazenamento do Azure.
A tabela a seguir lista as classes básicas, juntamente com uma breve descrição:
| Classe | Descrição |
|---|---|
| BlobServiceClient | Representa a conta de armazenamento e fornece operações para recuperar e configurar as propriedades da conta e para trabalhar com contentores Blob na conta de armazenamento. |
| BlobContainerClient | Representa um contentor de blob específico e fornece operações para trabalhar com o contentor e os blobs nele. |
| BlobClient | Representa um blob específico e fornece operações gerais para trabalhar com o blob, incluindo operações para carregar, baixar, excluir e criar instantâneos. |
| AppendBlobClient | Representa um blob de anexação e fornece operações específicas para blobs de anexação, como adicionar dados de log. |
| BlockBlobClient | Representa um blob de bloco e fornece operações específicas para blobs de bloco, como armazenar provisoriamente e depois confirmar blocos de dados. |
Os pacotes a seguir contêm as classes usadas para trabalhar com recursos de dados do Armazenamento de Blob:
- Azure.Storage.Blobs: contém as classes primárias (objetos de cliente) que você pode usar para operar no serviço, contêineres e blobs.
- Azure.Storage.Blobs.Specialized: contém classes que você pode usar para executar operações específicas de um tipo de blob, como blobs de bloco.
- Azure.Storage.Blobs.Models: Todas as outras classes de utilitários, estruturas e tipos de enumeração.
Próximos passos
O trabalho com recursos do Azure usando o SDK começa com a criação de uma instância de cliente. Para saber mais sobre a criação e o gerenciamento de objetos de cliente, consulte Criar e gerenciar objetos de cliente que interagem com recursos de dados.