Creación de un objeto de cliente
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
:
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:
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
.
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:
public BlobClient GetBlobClient(
BlobServiceClient blobServiceClient,
string containerName,
string blobName)
{
BlobClient client =
blobServiceClient.GetBlobContainerClient(containerName).GetBlobClient(blobName);
return client;
}