Creación de un objeto de cliente

Completado 100 XP

Trabajar con cualquier recurso de Azure mediante el SDK comienza con la creación de un objeto de cliente. En esta sección, aprenderá a crear objetos de cliente para interactuar con los tres tipos de recursos en el servicio de almacenamiento: cuentas de almacenamiento, contenedores y blobs.

Cuando la aplicación crea un objeto de cliente, se pasa un URI que hace referencia al punto de conexión al constructor de cliente. Puede construir manualmente la cadena de punto de conexión, como se muestra en los ejemplos de este artículo, o puede consultar el punto de conexión en tiempo de ejecución mediante la biblioteca de administración de Azure Storage.

Los ejemplos de código de esta unidad usan defaultAzureCredential para autenticarse en Azure a través de una entidad de seguridad de Microsoft Entra. El proceso de autenticación incluye la obtención de un token de acceso para la autorización. Este token de acceso se pasa como una credencial cuando se crea una instancia del cliente y la credencial persiste durante toda la vigencia del cliente. A la entidad de seguridad de Microsoft Entra que solicita el token se le debe asignar un rol adecuado de Azure RBAC que conceda acceso a los datos de blobs.

Creación de un objeto BlobServiceClient

Un objeto de BlobServiceClient autorizado permite a la aplicación interactuar con los recursos en el nivel de cuenta de almacenamiento. BlobServiceClient proporciona métodos para recuperar y configurar propiedades de cuenta, así como enumerar, crear y eliminar contenedores dentro de la cuenta de almacenamiento. Este objeto de cliente es el punto de partida para interactuar con los recursos de la cuenta de almacenamiento.

En el ejemplo siguiente se muestra cómo crear un objeto BlobServiceClient:

C#
using Azure.Identity;
using Azure.Storage.Blobs;

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

    return client;
}

Creación de un objeto BlobContainerClient

Puede usar un objeto BlobServiceClient para crear un nuevo objeto BlobContainerClient. Un objeto BlobContainerClient permite interactuar con un recurso de contenedor específico. BlobContainerClient proporciona métodos para crear, eliminar o configurar un contenedor, e incluye métodos para enumerar, cargar y eliminar los blobs dentro de él.

En el ejemplo siguiente se muestra cómo crear un cliente contenedor a partir de un objeto BlobServiceClient para interactuar con un recurso de contenedor específico:

C#
public BlobContainerClient GetBlobContainerClient(
    BlobServiceClient blobServiceClient,
    string containerName)
{
    // Create the container client using the service client object
    BlobContainerClient client = blobServiceClient.GetBlobContainerClient(containerName);
    return client;
}

Si el trabajo está limitado a un único contenedor, puede optar por crear un objeto de BlobContainerClient directamente sin usar BlobServiceClient.

C#
public BlobContainerClient GetBlobContainerClient(
    string accountName,
    string containerName,
    BlobClientOptions clientOptions)
{
    // Append the container name to the end of the URI
    BlobContainerClient client = new(
        new Uri($"https://{accountName}.blob.core.windows.net/{containerName}"),
        new DefaultAzureCredential(),
        clientOptions);

    return client;
}

Creación de un objeto BlobClient

Para interactuar con un recurso de blob específico, cree un objeto BlobClient a partir de un cliente de servicio o cliente de contenedor. Un objeto BlobClient permite interactuar con un recurso de blob específico.

En el ejemplo siguiente se muestra cómo crear un cliente de blobs para interactuar con un recurso de blob específico:

C#
public BlobClient GetBlobClient(
    BlobServiceClient blobServiceClient,
    string containerName,
    string blobName)
{
    BlobClient client =
        blobServiceClient.GetBlobContainerClient(containerName).GetBlobClient(blobName);
    return client;
}

Siguiente unidad: Ejercicio: Creación de recursos de Blob Storage mediante la biblioteca cliente de .NET

Anterior Siguientes