Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Upload, download, e listagem de blobs com Azure Storage e .NET Core 2.0

    Upload, download, e listagem de blobs com Azure Storage e .NET Core 2.0

    Jhonathan SoaresBy Jhonathan Soares11 de junho de 20181 Min Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Neste post rápido, irei mostrar como usar a biblioteca .NET do Armazenamento do Azure para carregar, baixar e listar blobs de bloco em um contêiner no Azure Storage.

    Antes de mais nada, precisamos realizar um checklist! Você precisa ter em mãos o container de storage já criado e a chave de conexão encontrada na parte de Connections Strings dentro do portal do Azure.

    Você precisará adicionar estas duas dependências no seu projeto:

    •  Microsoft.WindowsAzure.Storage;
    • Microsoft.WindowsAzure.Storage.Blob;

    Você pode começar validando a conexão através deste trecho de código:

    string storageConnectionString = "CONNEXÃO AQUI";
    
    // Checando se a conexão pode realizar o parse
    if (CloudStorageAccount.TryParse(storageConnectionString, out storageAccount))
    {
        //Conexão válida.
    }
    else
    {
    
      //Conexão não válida.
    }

     

    Após isto, você precisa criar um container, certo? Vamos lá!

    //Crie o CloudBlobClient que representa o ponto de extremidade de armazenamento do Blob para a conta de armazenamento.
    CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
    
    // Crie um contêiner chamado 'quickstartblobs' e anexe um valor de GUID a ele para tornar o nome exclusivo.
    cloudBlobContainer = cloudBlobClient.GetContainerReference("quickstartblobs" + Guid.NewGuid().ToString());
    await cloudBlobContainer.CreateAsync();
    
    //Defina as permissões para que os blobs sejam públicos.
    BlobContainerPermissions permissions = new BlobContainerPermissions
    {
        PublicAccess = BlobContainerPublicAccessType.Blob
    };
    await cloudBlobContainer.SetPermissionsAsync(permissions);
    
    
    
    

     

    Você também pode verificar se ele já existe antes de criar

       CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
         var client = cloudBlobClient.GetContainerReference(blobname);
             if (await client.ExistsAsync())
               {
                   //já existe, não criar
               }
               else
               {
                   //não existe, criar.
               }

     

    Com o container criado, vamos gerar um pequeno arquivo de teste e realizar o upload:

     
     // Crie um arquivo em sua pasta Meus Documentos local para fazer o upload para um blob.
    string localPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    string localFileName = "QuickStart_" + Guid.NewGuid().ToString() + ".txt";
    sourceFile = Path.Combine(localPath, localFileName);
    
    // Escrevendo Hello World no arquivo.
    File.WriteAllText(sourceFile, "Hello, World!");
    
    Console.WriteLine("Temp file = {0}", sourceFile);
    Console.WriteLine("Uploading to Blob storage as blob '{0}'", localFileName);
    
    //Realizando upload do arquivo recém gerado.
    CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(localFileName);
    await cloudBlockBlob.UploadFromFileAsync(sourceFile);

     

    Você pode verificar os arquivos criados dentro do container assim:

     
     // Listagem e blob
    BlobContinuationToken blobContinuationToken = null;
    do
    {
        var results = await cloudBlobContainer.ListBlobsSegmentedAsync(null, blobContinuationToken);
        blobContinuationToken = results.ContinuationToken;
        foreach (IListBlobItem item in results.Results)
        {
            Console.WriteLine(item.Uri);
        }
    } while (blobContinuationToken != null); 
    

     

    Você pode baixar o código fonte, aqui.

    Um grande abraço!

     

     

     

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile