Introdução ao Armazenamento de Blobs do Azure e ao Go

Este artigo mostra como se conectar ao Armazenamento de Blobs do Azure usando o módulo de clientes do Armazenamento de Blob do Azure para Go. Após se conectar, seu código pode operar em contêineres, blobs e recursos do serviço de Armazenamento de Blobs.

Documentação de referência da API | Código-fonte da biblioteca | Pacote (pkg.go.dev)

Pré-requisitos

Configurar o seu projeto

Esta seção orienta você na preparação de um projeto para trabalhar com o módulo de cliente do Armazenamento de Blobs do Azure para Go.

No seu GOPATH, instale o módulo azblob usando o seguinte comando:

go get github.com/Azure/azure-sdk-for-go/sdk/storage/azblob

Para autenticar com o Microsoft Entra ID (recomendado), instale o módulo azidentity usando o comando a seguir:

go get github.com/Azure/azure-sdk-for-go/sdk/azidentity

Em seguida, abra o arquivo de código e adicione os caminhos de importação necessários. Neste exemplo, adicionamos o seguinte ao nosso arquivo .go:

import (
    "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
    "github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)

Informações do módulo do cliente blob:

  • azblob: contém todos os métodos que você pode usar para operar no serviço, contêineres e blobs.

Autorizar o acesso e se conectar ao Armazenamento de Blobs

Para conectar um aplicativo ao Armazenamento de Blobs, crie um objeto cliente usando azblob.NewClient. Esse objeto é seu ponto de partida para interagir com os recursos de dados no nível da conta de armazenamento. Você pode usá-lo para operar na conta de armazenamento e nos respectivos contêineres.

Para saber mais sobre como criar e gerenciar objetos clientes, inclusive as melhores práticas, confira Criar e gerenciar objetos de cliente que interagem com recursos de dados.

Você pode autorizar um objeto cliente usando um token de autorização do Microsoft Entra (recomendado), uma chave de acesso de conta ou uma assinatura de acesso compartilhado (SAS).

Para autorizar com a ID do Microsoft Entra, você precisará usar uma entidade de segurança. Os artigos a seguir fornecem diretrizes sobre diferentes cenários de autenticação:

Autorizar o acesso usando DefaultAzureCredential

Uma maneira fácil e segura de autorizar o acesso e se conectar ao Armazenamento de Blobs é obter um token OAuth criando uma instância de DefaultAzureCredential. Em seguida, você pode usar essa credencial para criar o objeto cliente usando azblob.NewClient.

func getServiceClientTokenCredential(accountURL string) *azblob.Client {
    // Create a new service client with token credential
    credential, err := azidentity.NewDefaultAzureCredential(nil)
    handleError(err)

    client, err := azblob.NewClient(accountURL, credential, nil)
    handleError(err)

    return client
}

Compilar o aplicativo

À 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. Para saber mais sobre esses tipos de recursos, como eles se relacionam entre si e como os aplicativos interagem com os recursos, confira Entender como os aplicativos interagem com os recursos de dados do Armazenamento de Blobs.

Os seguintes guias mostram como acessar dados e realizar ações específicas usando o módulo do cliente do Armazenamento de Blobs do Azure para Go:

Guia Descrição
Configurar uma política de repetição Implementar políticas de repetição para operações do cliente.
Copiar blobs Copie um blob de uma localização para outra.
Criar um contêiner Crie contêineres.
Excluir e restaurar blobs Exclua os blobs, e, se a exclusão reversível estiver habilitada, restaure os blobs excluídos.
Excluir e restaurar contêineres Exclua contêineres e, se a exclusão reversível estiver habilitada, restaure os contêineres excluídos.
Baixar blobs Baixe blobs usando cadeias de caracteres, fluxos e caminhos de arquivo.
Encontrar blobs usando marcas Defina e recupere marcas e use as marcas para localizar blobs.
Listar blobs Liste blobs de maneiras diferentes.
Listar contêineres Liste os contêineres em uma conta e as diversas opções disponíveis para personalizar uma listagem.
Gerenciar propriedades e metadados (blobs) Gerenciar propriedades do contêiner e metadados.
Gerenciar propriedades e metadados (contêineres) Gerenciar propriedades do contêiner e metadados.
Carregar blobs Saiba como carregar blobs usando cadeias de caracteres, fluxos, caminhos de arquivo e outros métodos.

Observação

Os exemplos de código neste guia destinam-se a ajudá-lo a começar a usar o Armazenamento de Blobs do Azure e o Go. Você deve modificar o tratamento de erros e valores Context para atender às necessidades do aplicativo.