Compartilhar via


Definir a camada de acesso de um blob

Você pode definir a camada de acesso de um blob de qualquer uma das seguintes maneiras:

  • Definindo a camada de acesso online padrão para a conta de armazenamento. Os blobs na conta herdam essa camada de acesso, a menos que você substitua explicitamente a configuração de um blob individual.
  • Definindo explicitamente a camada de um blob no upload. Você pode criar um blob no nível quente, frio, gelado ou de arquivos.
  • Alterando o nível de um blob existente com uma operação do tipo “Definir o Nível do Blob”. De modo geral, você usaria essa operação para passar de um nível mais quente para um nível mais frio.
  • Copiando um blob com uma operação do tipo “Copiar Blob”. De modo geral, você usaria essa operação para passar de um nível mais frio para um nível mais quente.

Este artigo descreve como gerenciar um blob em um nível de acesso online. Para obter mais informações sobre como transferir um blob para o nível de arquivos, confira Arquivar um blob. Para obter mais informações sobre como reidratar um blob do nível de arquivos, confira Reidratar um blob arquivado para um nível online.

Para obter mais informações sobre os níveis de acesso para blobs, confira Níveis de acesso para dados de blobs.

Definir a camada de acesso padrão para uma conta de armazenamento

A configuração da camada de acesso padrão para uma conta de armazenamento de uso geral v2 determina em qual camada online um blob é criado por padrão. Você pode definir a camada de acesso padrão para uma conta de armazenamento de uso geral v2 no momento em que cria a conta ou atualizando a configuração de uma conta existente.

Quando você altera a configuração da camada de acesso padrão para uma conta de armazenamento de uso geral v2 existente, a alteração se aplica a todos os blobs na conta para a qual uma camada de acesso não foi definida explicitamente. Alterar a camada de acesso padrão pode ter um impacto de cobrança. Para obter detalhes, confira Configuração da camada de acesso da conta padrão.

Para definir a camada de acesso padrão para uma conta de armazenamento no momento da criação no portal do Azure, siga estas etapas:

  1. Navegue até a página Contas de armazenamento e selecione o botão Criar.

  2. Preencha a guia Básico.

  3. Na guia Avançado, em Armazenamento de Blobs, defina a Camada de acesso como Frequente, Esporádico ou Frio. A configuração padrão é Quente.

  4. Selecione Examinar + Criar para validar suas configurações e criar a sua conta de armazenamento.

    Captura de tela mostrando como definir a camada de acesso padrão ao criar uma conta de armazenamento.

Para atualizar a camada de acesso padrão para uma conta de armazenamento existente no portal do Azure, siga estas etapas:

  1. Navegue até a conta de armazenamento no portal do Azure.

  2. Em Configurações, escolha Configuração.

  3. Localize a configuração da camada de acesso blob (padrão) e selecione Frequente, Esporádico ou Frio. A configuração padrão é Quente, se você não definiu essa propriedade anteriormente.

  4. Salve suas alterações.

Definir a camada de um blob no upload

Ao carregar um blob no Armazenamento do Azure, você tem duas opções para definir a camada do blob no upload:

  • Você pode definir explicitamente a camada em que o blob será criado. Essa configuração substitui a camada de acesso padrão para a conta de armazenamento. Você pode definir o nível para um blob ou conjunto de blobs como quente, frio, gelado ou de arquivos no momento do upload.
  • Você pode carregar um blob sem especificar uma camada. Nesse caso, o blob será criado no nível de acesso padrão especificado para a conta de armazenamento (quente ou frio).

Se você estiver carregando um novo blob que usa um escopo de criptografia, não poderá alterar a camada de acesso desse blob.

As seções a seguir descrevem como especificar se um blob será carregado no nível quente ou frio. Para obter mais informações sobre como arquivar um blob no upload, confira Arquivar blobs no upload.

Carregar um blob para uma camada online específica

Para criar um blob nos níveis de acesso quente, frio ou gelado, especifique esse nível quando criar o blob. A camada de acesso especificada no upload substitui a camada de acesso padrão para a conta de armazenamento.

Para carregar um blob ou um conjunto de blobs em uma camada específica do portal do Azure, siga estas etapas:

  1. Navegue até o contêiner de destino.

  2. Selecione o botão Carregar.

  3. Selecione o arquivo ou os arquivos a serem carregados.

  4. Expanda a seção Avançado e defina a Camada de acesso como Quente ou Fria.

  5. Selecione o botão Carregar.

    Captura de tela que mostra como carregar blobs em uma camada online no portal do Azure.

Carregar um blob para a camada padrão

As contas de armazenamento têm uma configuração de camada de acesso padrão que indica em qual camada online um blob é criado. A configuração de camada de acesso padrão pode ser definida como quente ou fria. O comportamento dessa configuração é ligeiramente diferente dependendo do tipo de conta de armazenamento:

  • A camada de acesso padrão para uma nova conta de armazenamento v2 de uso geral é definida como a camada quente por padrão. Você pode alterar a configuração da camada de acesso padrão ao criar uma conta de armazenamento ou depois que ela for criada.
  • Ao criar uma conta no Armazenamento de Blobs herdado, você precisa especificar a configuração do nível de acesso padrão como quente ou frio ao criar a conta de armazenamento. Você pode alterar a configuração de camada de acesso padrão da conta de armazenamento depois que ela é criada.

Qualquer blob que não tenha uma camada explicitamente atribuída infere a camada da configuração padrão de camada de acesso da conta. Você pode determinar se a camada de acesso de um blob é inferida usando o portal do Azure, o PowerShell ou a CLI do Azure.

Se a camada de acesso de um blob for inferida da configuração da camada de acesso da conta padrão, o portal do Azure exibirá a camada de acesso como Frequente (inferido), Esporádico (inferido) ou Frio (inferido).

Captura de tela que mostra os blobs com a camada de acesso padrão no portal do Azure.

Mover um blob para uma camada online diferente

Você pode mover um blob para uma camada online diferente de uma de duas maneiras:

  • Alterando a camada de acesso.
  • Copiando o blob para uma camada online diferente.

Para obter mais informações sobre cada uma dessas opções, confira Definir ou alterar a camada de um blob.

Use o PowerShell, a CLI do Azure, AzCopy v10 ou uma das bibliotecas de clientes do Armazenamento do Azure para mover um blob para uma camada diferente.

Alterar a camada de um blob

Quando altera a camada de um blob, você move esse blob e todos os respectivos dados para a camada de destino chamando a operação Set Blob Tier (diretamente ou por meio de uma política de gerenciamento do ciclo de vida) ou usando o comando azcopy set-properties com AzCopy. Essa opção costuma ser a melhor quando você altera a camada de um blob de um uso mais frequente para um mais esporádico.

Dica

Você pode usar uma tarefa de armazenamento para alterar a camada de acesso de blobs em escala em várias contas de armazenamento com base em um conjunto de condições que você definir. Uma conta de armazenamento é um recurso disponível em Ações de Armazenamento do Azure; uma estrutura sem servidor que você pode usar para executar operações de dados comuns em milhões de objetos em várias contas de armazenamento. Para saber mais, consulte O que são as Ações de Armazenamento do Azure?.

Para alterar o nível do blob para um nível mais frio no portal do Azure, siga essa etapas:

  1. Navegue até o blob para o qual você deseja alterar a camada.

  2. Selecione o blob e, em seguida, selecione o botão Alterar camada.

  3. Na caixa de diálogo Alterar camada, selecione a camada de destino.

  4. Selecione o botão Salvar.

    Captura de tela que mostra como alterar a camada de um blob no portal do Azure

Copiar um blob para uma camada online diferente

Chame a operação Copy Blob para copiar um blob de uma camada para outra. Ao copiar um blob para uma camada diferente, você move esse blob e todos os dados dele para a camada de destino. O blob de origem permanece na camada original e um blob é criado na camada de destino. É recomendável chamar o comando Copy Blob para a maioria dos cenários quando você estiver migrando um blob para um nível mais quente ou reidratando um blob do nível de arquivos.

N/D

Camadas em massa

Para mover blobs para outra camada em um contêiner ou pasta, enumere os blobs e chame a operação Definir Camada de Blob em cada um deles. O exemplo abaixo mostra como executar essa operação:

N/D

Ao mover um grande número de blobs para outra camada, use uma operação em lote para obter um desempenho ideal. Uma operação em lote envia várias chamadas à API para o serviço em uma única solicitação. As suboperações compatíveis com a operação Lote de Blobs incluem Excluir Blob e Definir Camada de Blob.

Para alterar a camada de acesso de blobs com uma operação em lote, use uma das bibliotecas de cliente do Armazenamento do Azure. O exemplo de código abaixo mostra como executar uma operação em lote básica com a biblioteca de clientes do .NET:

static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
    string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
                                    accountName,
                                    containerName);

    // Get container client, using Azure AD credentials.
    BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
    BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(), 
                                                                      new DefaultAzureCredential());

    // Get URIs for blobs in this container and add to stack.
    var uris = new Stack<Uri>();
    await foreach (var item in blobContainerClient.GetBlobsAsync())
    {
        uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
    }

    // Get the blob batch client.
    BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();

    try
    {
        // Perform the bulk operation to archive blobs.
        await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine(e.Message);
    }
}

Para ver um aplicativo de exemplo aprofundado que mostra como alterar camadas com uma operação em lote, veja AzBulkSetBlobTier.

Próximas etapas