Compartir vía


Introducción a Azure Blob Storage y .NET

En este artículo se muestra cómo conectarse a Azure Blob Storage mediante la biblioteca cliente Azure Blob Storage para .NET. Una vez conectado, el código puede funcionar en contenedores, blobs y características del servicio Blob Storage.

Referencia de API | Código fuente de la biblioteca | Paquete (NuGet) | Ejemplos | Enviar comentarios

Prerrequisitos

Configuración del proyecto

En esta sección se explica cómo preparar un proyecto para que funcione con la biblioteca de cliente de Azure Blob Storage para. NET.

En el directorio del proyecto, instale los paquetes para las bibliotecas cliente de Azure Blob Storage y Azure Identity mediante el comando dotnet add package. El paquete Azure.Identity es necesario para las conexiones sin contraseña a los servicios de Azure.

dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity

Agregue estas directivas using al principio del archivo de código:

using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;

Información de la biblioteca cliente de blobs:

  • Azure.Storage.Blobs: contiene las clases principales (objetos de cliente) que puede usar para operar en el servicio, los contenedores y los blobs.

  • Azure.Storage.Blobs.Specialized: contiene clases que puede usar para llevar a cabo operaciones específicas de un tipo de blob, como blobs en bloques.

  • Azure.Storage.Blobs.Models: todas las demás clases de utilidad, estructuras y tipos de enumeración.

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

Para conectar una aplicación a Blob Storage, cree una instancia de la clase BlobServiceClient. 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. También puede usar el cliente de servicio para crear clientes de contenedor o clientes de blobs, en función del recurso con el que necesite trabajar.

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

Puede autorizar un objeto BlobServiceClient mediante un token de autorización de Microsoft Entra, una clave de acceso de cuenta o una firma de acceso compartido. Para una seguridad óptima, Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes contra datos de blobs. Para más información, vea Autorización del acceso a blobs mediante Microsoft Entra ID.

Para autorizar con Microsoft Entra ID, deberá usar una entidad de seguridad. El tipo de entidad de seguridad que necesita depende de dónde se ejecute la aplicación. Use esta tabla como guía.

Dónde se ejecuta la aplicación Entidad de seguridad Guía
Máquina local (desarrollo y pruebas) Entidad de servicio Con el fin de descubrir cómo registrar la aplicación, configurar un grupo de Microsoft Entra, asignar roles y configurar variables de entorno, consulte Autorización del acceso mediante entidades de servicio para desarrolladores
Máquina local (desarrollo y pruebas) Identidad del usuario Con el fin de descubrir cómo configurar un grupo de Microsoft Entra, asignar roles e iniciar sesión en Azure, consulte Autorización del acceso mediante credenciales para desarrolladores
Hospedado en Azure Identidad administrada Para descubrir cómo habilitar la identidad administrada y asignar roles, vea Autorización del acceso desde aplicaciones hospedadas en Azure mediante una identidad administrada.
Hospedado fuera de Azure (por ejemplo, aplicaciones locales) Entidad de servicio Para descubrir cómo registrar la aplicación, asignar roles y configurar variables de entorno, vea Autorización del acceso desde aplicaciones locales mediante una entidad de servicio de aplicació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. Después, puede usar esa credencial para crear un objeto BlobServiceClient.

En el ejemplo siguiente, se crea un objeto BlobServiceClient autorizado mediante DefaultAzureCredential:

public BlobServiceClient GetBlobServiceClient(string accountName)
{
    BlobServiceClient client = new(
        new Uri($"https://{accountName}.blob.core.windows.net"),
        new DefaultAzureCredential());

    return client;
}

Si sabe exactamente qué tipo de credencial usará para autenticar a los usuarios, puede obtener un token de OAuth mediante otras clases de la biblioteca cliente de Azure Identity para .NET. Estas clases derivan de la clase TokenCredential.

Para más información sobre cada uno de estos mecanismos de autorización, consulte Autorización del acceso a los datos en Azure Storage.

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 la biblioteca cliente de Azure Storage para .NET:

Guía Descripción
Anexar datos a blobs Obtenga información sobre cómo crear un blob en anexos y, a continuación, anexar datos a ese blob.
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.
Creación de una SAS de delegación de usuarios (blobs). Cree una SAS de delegación de usuarios para un blob.
Creación de una SAS de delegación de usuarios (contenedores) Cree una SAS de delegación de usuarios para un contenedor.
Creación y administración de concesiones de blobs Establezca y administre un bloqueo en un blob.
Creación y administración de concesiones de contenedores Establezca y administre un bloqueo en un contenedor.
Eliminar y restaurar 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 Obtenga y establezca las propiedades y los metadatos de los blobs.
Administración de propiedades y metadatos Obtenga y establezca las propiedades y los metadatos de los contenedores.
Optimización del rendimiento de las transferencias de datos Optimice el rendimiento de las transferencias de datos.
Establecer o cambiar el nivel de acceso de un blob Establezca o cambie el nivel de acceso de un blob en bloques.
Carga de blobs Aprenda a cargar blobs mediante cadenas, secuencias, rutas de acceso de archivo y otros métodos.