Azure Blob Storage e ASP.NET Core – Parte 1

Nesta série vou apresentar os principais conceitos relacionados ao Azure Blob Storage, e também um passo a passo de como realizar o upload e download de arquivos utilizando uma API ASP.NET Core.

Esta é a parte 1 e será onde vou fazer uma introdução ao Azure Blob Storage, e seus principais recursos.

Espero que goste do conteúdo!

Introdução ao Azure Blob Storage

O Azure Blob Storage é uma solução do Microsoft Azure, plataforma de computação em nuvem da Microsoft, que permite o armazenamento de dados não-estruturados.

Por exemplo, ele pode ser utilizado para:

  • Hospedagem de imagens para serem servidas ao navegador
  • Compartilhamento de arquivos
  • Armazenamento de arquivos de log
  • Streaming de vídeo e áudio

Também pode ser utilizado para armazenar dados destinados a processos como backup e restauração, análise de dados, estado de infraestrutura com Terraform, entre outros.

Mecanismos de acesso

Os dados que são armazenados no Azure Blob Storage podem ser acessados através de:

  • HTTP/HTTPS
  • Azure PowerShell
  • Azure CLI
  • Azure Storage client library
    • .NET
    • Java
    • Node.js
    • Python
    • Go

Já que este serviço pode ser facilmente acessado via REST API, a sua integração pode ser feita por praticamente todas linguagens de programação modernas.

Principais conceitos

Existem diversos conceitos chave relacionados ao Azure Blob Storage que é importante conhecer.

Storage Account

Necessária para utilizar o Azure Blob Storage. Ela cria um namespace único para seus dados no Azure, e será onde os blobs ficarão armazenados.

Uma Storage Account pode ter múltiplos containers.

Blob Containers

Containers são como se fossem pastas em um sistema de arquivos. Eles oferecem uma forma de organizar seus blobs dentro de uma Storage Account, e podem armazenar um número ilimitado de blobs.

Blobs

São objetos individuais que são armazenados no Azure Blob Storage. Existem três tipos de Azure BVlo

  • Block Blobs: textos e dados binários
  • Append Blobs: dados similares ao block blobs, mas otimizados para operações de anexação (append), como em dados de logging de VMs
  • Page Blobs: arquivos VHD para máquinas virtuais do Azure

Para ilustrar a URL de um blob, digamos que eu queira armazenar as capas dos cursos de minha plataforma no Azure Blob Storage.

O nome de minha Storage Account é “luisdevstorage”, e nela eu crio um container chamado “capas-cursos”.

Finalmente, vou armazenar neste container um arquivo chamado “fundamentos_azure.jpeg”.

Olha só como ficaria o link para acessar essa capa.

https://luisdevstorage.blob.core.windows.net/capas-cursos/fundamentos_azure.jpeg

  • luisdevstorage: Storage Account
  • capas-cursos: Container
  • fundamentos_azure.jpeg: nome do Blob armazenado dentro do Container

Além disso, dá para criar subpastas dentro do Container e organizar seus arquivos ali, resultando em uma estrutura flexível de organização.

Quer acelerar seus resultados?

Além de trabalhar para o exterior como Desenvolvedor .NET Sênior, eu sou instrutor e mentor de centenas de desenvolvedores .NET que querem acelerar seus resultados e se destacar em suas carreiras.

O meu treinamento Imersão .NET Expert é uma assinatura com mais de 800 videoaulas e 200 horas de cursos focados em profissionais .NET Plenos e Seniores.

Entre os temas de cursos estão Microsserviços, DevOps, Cloud, Performance, APIs, entre outros tantos.

Está com R$1.000 de desconto, e você pode conhecer mais e garantir sua vaga clicando aqui.

Conclusão

Neste artigo tivemos a oportunidade de conhecer o Azure Blob Storage e seus mecanismos de acesso, bem como seus principais conceitos como Blob, container, e Storage Account.

No próximo artigo será mostrado como realizar o acesso aos dados de containers e blobs através da biblioteca em .NET para acesso ao Azure Blob Storage.

Até o próximo artigo!