Partilhar 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 na camada quente, fria, fria ou de arquivamento.
  • Alterando a camada de um blob existente com uma operação set Blob Tier. Normalmente, você usaria essa operação para passar de uma camada mais quente para uma mais fria.
  • Copiando um blob com uma operação Copy Blob. Normalmente, você usaria essa operação para passar de uma camada mais fria para uma mais quente.

Este artigo descreve como gerenciar um blob em uma camada de acesso online. Para obter mais informações sobre como mover um blob para a camada de arquivamento, consulte Arquivar um blob. Para obter mais informações sobre como reidratar um blob da camada de arquivamento, consulte Reidratar um blob arquivado para uma camada online.

Para obter mais informações sobre camadas de acesso para blobs, consulte Camadas de acesso para dados de blob.

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

A configuração de camada de acesso padrão para uma conta de armazenamento v2 de uso geral determina em qual camada online um novo blob é criado por padrão. Você pode definir a camada de acesso padrão para uma conta de armazenamento v2 de uso geral no momento em que criar 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 v2 de uso geral existente, a alteração se aplica a todos os blobs na conta para os quais uma camada de acesso não foi definida explicitamente. Alterar a camada de acesso padrão pode ter um impacto na cobrança. Para obter detalhes, consulte Configuração da camada de acesso à conta padrão.

Para definir a camada de acesso padrão para uma conta de armazenamento em tempo de 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 Noções básicas .

  3. Na guia Avançado, em Armazenamento de Blob, defina a camada de Acesso como Quente, Frio ou Frio. A configuração padrão é Hot.

  4. Selecione Rever + Criar para validar as suas definiçõ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 Definições, selecione Configuração.

  3. Localize a configuração da camada de acesso de Blob (padrão) e selecione Quente, Frio ou Frio. A configuração padrão é Hot, se você não tiver definido anteriormente essa propriedade.

  4. Guardar as suas alterações.

Definir a camada de um blob ao carregar

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

  • Você pode especificar explicitamente a camada na qual o blob será criado. Essa configuração substitui a camada de acesso padrão para a conta de armazenamento. Você pode definir a camada para um blob ou conjunto de blobs no upload para quente, frio, frio ou arquivo.
  • Você pode carregar um blob sem especificar uma camada. Nesse caso, o blob será criado na camada de acesso padrão especificada para a conta de armazenamento (quente ou fria).

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

As seções a seguir descrevem como especificar que um blob seja carregado para a camada quente ou fria. Para obter mais informações sobre como arquivar um blob no upload, consulte Arquivar blobs no upload.

Carregar um blob para uma camada online específica

Para criar um blob na camada quente, fria ou fria, especifique essa camada ao 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 conjunto de blobs para 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(s) ficheiro(s) a carregar.

  4. Expanda a seção Avançado e defina a camada Acesso como Hot ou Cool.

  5. Selecione o botão Carregar.

    Captura de ecrã a mostrar como carregar blobs para um escalão 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 novo blob é criado. A configuração da 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 ativa 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 de Armazenamento de Blob herdada, você deve especificar a configuração da camada de acesso padrão como quente ou legal ao criar a conta de armazenamento. Você pode alterar a configuração da camada de acesso padrão para a conta de armazenamento depois que ela for criada.

Um blob que não tem uma camada atribuída explicitamente infere sua camada da configuração padrão da camada de acesso à 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 a partir da configuração padrão da camada de acesso à conta, o portal do Azure exibirá a camada de acesso como Hot (inferred), Cool (inferred) ou Cold (inferred).

Captura de ecrã a mostrar blobs com a camada de acesso predefinida no portal do Azure.

Mover um blob para uma camada online diferente

Você pode mover um blob para uma camada online diferente 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, consulte Definindo ou alterando a camada de um blob.

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

Alterar a camada de um blob

Ao alterar a camada de um blob, você move esse blob e todos os seus dados para a camada de destino chamando a operação set Blob Tier (diretamente ou por meio de uma política de gerenciamento de ciclo de vida) ou usando o comando azcopy set-properties com AzCopy. Essa opção geralmente é a melhor quando você está alterando a camada de um blob de uma camada mais quente para uma mais fria.

Gorjeta

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 tarefa de armazenamento é um recurso disponível nas 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 a camada de um blob para uma camada mais fria no portal do Azure, siga estas 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 Save.

    Captura de ecrã a mostrar como alterar a camada de um blob no portal do Azure

Copiar um blob para uma camada online diferente

Chame a operação de Blob de Cópia para copiar um blob de uma camada para outra. Quando você copia um blob para uma camada diferente, move esse blob e todos os seus dados para a camada de destino. O blob de origem permanece na camada original e um novo blob é criado na camada de destino. Chamar o Blob de Cópia é recomendado para a maioria dos cenários em que você está movendo um blob para uma camada mais quente ou reidratando um blob da camada de arquivamento.

N/A

Hierarquização em massa

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

N/A

Ao mover um grande número de blobs para outra camada, use uma operação em lote para obter o desempenho ideal. Uma operação em lote envia várias chamadas de API para o serviço com uma única solicitação. As suboperações suportadas pela operação Lote de Blob 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 a seguir mostra como executar uma operação em lote básica com a biblioteca de cliente .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 obter um aplicativo de exemplo detalhado que mostra como alterar camadas com uma operação em lote, consulte AzBulkSetBlobTier.

Próximos passos