Criar um objeto cliente

Concluído

Trabalhar com qualquer recurso do Azure usando o SDK começa com a criação de um objeto cliente. Nesta seção, você aprenderá a criar objetos cliente para interagir com os três tipos de recursos no serviço de armazenamento: contas de armazenamento, contêineres e blobs.

Quando seu aplicativo cria um objeto cliente, você passa um URI referenciando o ponto de extremidade para o construtor do cliente. Você pode construir a cadeia de caracteres do ponto de extremidade manualmente, conforme mostrado nos exemplos deste artigo, ou pode consultar o ponto de extremidade em tempo de execução usando a biblioteca de gerenciamento do Armazenamento do Azure.

As amostras de código nessa unidade usam a DefaultAzureCredential para se autenticar no Azure por meio de uma entidade de segurança do Microsoft Entra. O processo de autenticação inclui a obtenção de um token de acesso para autorização. Esse token de acesso é passado como uma credencial quando o cliente é instanciado e a credencial persiste durante todo o tempo de vida do cliente. Uma função RBAC apropriada do Azure que conceda acesso aos dados de blob deve ser atribuída à entidade de segurança do Microsoft Entra que está solicitando o token.

Criar um objeto BlobServiceClient

Um objeto BlobServiceClient autorizado permite que seu aplicativo interaja com recursos no nível da conta de armazenamento. BlobServiceClient fornece métodos para recuperar e configurar propriedades da conta, bem como listar, criar e excluir contêineres dentro da conta de armazenamento. Esse objeto cliente é o ponto de partida para interagir com recursos na conta de armazenamento.

O exemplo a seguir mostra como criar um 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;
}

Criar um objeto BlobContainerClient

Você pode usar um objeto BlobServiceClient para criar um novo objeto BlobContainerClient. Um objeto BlobContainerClient permite que você interaja com um recurso de contêiner específico. BlobContainerClient fornece métodos para criar, excluir ou configurar um contêiner e inclui métodos para listar, carregar e excluir os blobs dentro dele.

O exemplo a seguir mostra como criar um cliente de contêiner de um objeto BlobServiceClient para interagir com um recurso de contêiner 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;
}

Se seu trabalho tiver escopo restrito a um único contêiner, você poderá optar por criar um objeto BlobContainerClient diretamente sem 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;
}

Criar um objeto BlobClient

Para interagir com um recurso de blob específico, crie um objeto BlobClient de um cliente de serviço ou cliente de contêiner. Um objeto BlobClient permite que você interaja com um recurso de blob específico.

O exemplo a seguir mostra como criar um cliente de blob para interagir com um recurso de blob específico:

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