Dev (Back & Front)ARTIGO

Utilizando Storage Blob Azure em ASP .NET Core

Neste artigo, o autor fala sobre o Storage Blob do Microsoft Azure e desmistifica o local de hospedagem de imagens e upload de arquivos.

Utilizando Storage Blob Azure em ASP .NET Core
Imagem: Fernando Mendes

Olá, pessoal!

Quando desenvolvemos uma API, muitas vezes precisamos fazer upload de arquivos, e não sabemos se estamos fazendo da melhor forma. Ficamos na dúvida de fazer um upload com um Base64 ou via Form, mas questionamos depois disso:

Onde vamos hospedar essa imagem?

Existem várias estratégias para isso, mas existe uma ferramenta ótima para reservar essas imagens, arquivos e etc. Um local que ficará fora de sua infra, e com isso ganhando agilidade e processamento para a sua aplicação. Essa ferramenta é o Storage Blog do AzureAzure76 conteúdosDeploy de Azure Stream Analytics job com CI/CD usando Azure PipelinesDevSecOps · mai 2019Azure – Como criar uma base de dados SQL no Microsoft Azure pronta para ser utilizadaData · abr 2019Azure Static Web Apps com Vue.js e Visual Studio CodeDevSecOps · out 2023Ver tudo em DevSecOps .

Utilizando essa ferramenta, hospedamos todas as imagens, arquivos e etc, neste serviço do Azure.

O primeiro passo é criar e configurar o storage em sua conta no Azure. Para isso, vamos utilizar o Cloud Shell do Azure. Ao lado direito superior de sua tela, existe o ícone do Cloud Shell.

Ícone do Cloud Shell

Ao clicar, irá abrir esse console:

Console Cloud Shell

Para a criação do storage, primeiramente precisamos criar um grupo de recursos de controle do storage. Utilize esse comando:

az group create --name [nome do seu recurso] -- location brazilsouth

No exemplo eu criei um grupo de recursos de nome StorageTeste.

Grupo de recursos criado no Azure

Depois disso, precisamos criar uma conta de armazenamento para o storage. Utilize esse comando:

az storage account create –name [nome do storage ]\
–location brazilsouth –resource-group [nome do seu recurso]\
–sku Standard_LRS \
–kind BlobStorage \
–access-tier Hot

No exemplo eu criei uma conta de armazenamento storagetesteexemplo.

Conta de armazenamento criada. Dentro desta conta de armazenamento, vamos criar um container para o armazenamento das imagens. Esse container vai se chamar image.

Criação do container

Criação do container image

Agora vamos criar uma API que irá receber uma imagem via request e fazer o armazenamento do mesmo neste storage que criamos dentro do Azure.

Criando uma API

Vamos adicionar as seguintes referências do NUGET:

PM> install-package WindowsAzure.Storage

A referência WindowsAzure.Storage será para fazer o Upload da imagem no storage do Azure. Criei na estrutura da API, duas pastas com seus objetos conforme imagem abaixo:

Criação de pastas

Adicionei as classes:

  • StorageConfig.cs: classe onde receberá os dados da conta de armazenamento do Azure.
  • StorageHelper.cs; será a classe responsável para a comunicação e upload da imagem ao storage do Azure
  • JsonImage: será uma entidade de retorno da url da imagem no storage

Na classe StorageHelper.cs, existe o método:

UploadFileToStorage

Método que irá fazer o upload no storage

Agora preciso criar a conexão da minha aplicação com o Azure. Para isso, existe na conta de armazenamento do Azure chaves de conexão do serviço que ficam armazenadas nas configurações da conta, na opção Chaves de acesso.

Chaves de acesso

Crie no arquivo de configuração appsettings.json, com as configurações de chaves de acesso.

Configuração da chave de acesso

Edite seu arquivo Startup.cs, para que ele leia do arquivo de configuração a sua chave de acesso.

Obtendo a chave do arquivo de configuração

Crie uma nova controller na API e adicione um método POST para o upload da imagem.

Método Post de upload de imagem

Rode sua aplicação e vamos testar usando o Postman!

Upload de imagem no postman

Adicione a imagem, como se fosse um site fazendo o upload. Na chave, coloque o nome “file”, pois é o mesmo nome do parâmetro do método na API e depois execute.

A API irá retornar sucesso com o retorno do endereço http da imagem:

Retorno do endereço da imagem no storage

Ao referenciar em um htmlHTML45 conteúdosA importância do HTML e CSS para quem trabalha com UI Design e Design SystemProduto & UX · dez 2024Como hostear seu site HTML gratuitamente com GitHub PagesDev (Back & Front) · jun 2025SQL Server – Como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteraçãoData · nov 2020Ver tudo em Dev (Back & Front) , a imagem:

Imagem do storage

Bom, pessoal, espero que tenham gostado deste artigo! Uma ótima ferramenta para resolver uploads de arquivos em suas aplicações usando o Azure e .NET Core. Segue solution desse exemplo no meu GitHub:

​Atu​a na área de desenvolvimento há mais de 15 anos. Atualmente, é Arquiteto de Software no Grupo Viceri. Tem certificações Microsoft e palestra em alguns eventos no Brasil, além de atuar em comunidades técnicas em Jundiaí para compartilhar conhecimento organizando eventos e Meetups.

Ver perfil