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.

          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!