Introducción a Azure Blob Storage y Go

En este artículo se muestra cómo conectarse a Azure Blob Storage mediante el módulo cliente de Azure Blob Storage para Go. Una vez que se haya conectado, use las guías para desarrolladores a fin de obtener información sobre cómo el código puede realizar operaciones con contenedores, blobs y características del servicio Blob Storage.

Si quiere empezar con un ejemplo completo, vea Inicio rápido: Biblioteca cliente de Azure Blob Storage para Go.

Documentación de referencia de la API | Código fuente de la biblioteca | Paquete (pkg.go.dev)

Prerrequisitos

Configuración del proyecto

En esta sección se explica cómo preparar un proyecto para que funcione con el módulo de cliente de Azure Blob Storage para Go.

Desde GOPATH, instale el módulo azblob mediante el siguiente comando:

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

Para autenticarse con Microsoft Entra ID (recomendado), instale el módulo azidentity mediante el siguiente comando:

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

A continuación, abra el archivo de código y agregue las rutas de importación necesarias. En este ejemplo, agregamos lo siguiente al archivo .go:

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

Información del módulo de cliente de blobs:

  • azblob: contiene los métodos que puede usar para operar en el servicio, los contenedores y los blobs.

Autorización del acceso y conexión a Blob Storage

Para conectar una aplicación a Blob Storage, cree un objeto de cliente mediante azblob.NewClient. Este objeto es el punto inicial para interactuar con los recursos de datos en el nivel de cuenta de almacenamiento. Puede usarlo para operar en la cuenta de almacenamiento y sus contenedores.

Para obtener más información sobre cómo crear y administrar objetos de cliente, incluidos los procedimientos recomendados, consulte Crear y administrar objetos de cliente que interactúan con los recursos de datos.

Puede autorizar un objeto de cliente mediante un token de autorización de Microsoft Entra (recomendado), una clave de acceso de cuenta o una firma de acceso compartido (SAS).

Para autorizar con Microsoft Entra ID, debe usar una entidad de seguridad. En los artículos siguientes se proporcionan instrucciones sobre diferentes escenarios de autenticación:

Autorización del acceso mediante DefaultAzureCredential

Una manera fácil y segura de autorizar el acceso y conectarse a Blob Storage es obtener un token de OAuth mediante la creación de una instancia de DefaultAzureCredential. A continuación, puede usar esa credencial para crear el objeto de cliente mediante 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
}

Compilación de la aplicación

A medida que compila aplicaciones para trabajar con recursos de datos en Azure Blob Storage, el código interactúa principalmente con tres tipos de recursos: cuentas de almacenamiento, contenedores y blobs. Para más información sobre estos tipos de recursos, cómo se relacionan entre sí y cómo interactúan las aplicaciones con los recursos, consulte Descripción de cómo interactúan las aplicaciones con los recursos de datos de Blob Storage.

En las guías siguientes se muestra cómo acceder a los datos y realizar acciones específicas mediante el módulo cliente de Azure Blob Storage para Go:

Guía Descripción
Configuración de una directiva de reintentos Implemente directivas de reintento para las operaciones de cliente.
Copia de blobs Copie un blob de una ubicación a otra.
Creación de un contenedor Cree contenedores.
Eliminación y restauración de blobs Elimine blobs y, si está habilitada la eliminación temporal, restaure los blobs eliminados.
Eliminación y restauración de contenedores Elimine contenedores y, si está habilitada la eliminación temporal, restaure los contenedores eliminados.
Descarga de los blobs Descargue blobs mediante cadenas, secuencias y rutas de acceso de archivo.
Búsqueda de blobs mediante etiquetas Establezca y recupere etiquetas, además de usar etiquetas para buscar blobs.
Enumeración de blobs Enumere los blobs de diferentes maneras.
Enumeración de contenedores Enumere los contenedores de una cuenta y las distintas opciones disponibles para personalizar una lista.
Administración de propiedades y metadatos (blobs) Administrar las propiedades y los metadatos del contenedor.
Administración de propiedades y metadatos (contenedores) Administrar las propiedades y los metadatos del contenedor.
Carga de blobs Aprenda a cargar blobs mediante cadenas, secuencias, rutas de acceso de archivo y otros métodos.

Nota:

Los ejemplos de código de esta guía están diseñados para ayudarle a empezar a trabajar con Azure Blob Storage y Go. Debe modificar el control de errores y los valores de Context para satisfacer las necesidades de la aplicación.