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:

  • Ao definir a configuração padrão do nível de acesso da conta 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.

  • Ao definir explicitamente a camada de um blob durante o upload. Você pode criar um blob na camada quente, morna, fria ou de arquivo.

  • Ao alterar a camada de um blob existente através de uma operação de definição de camada do blob. 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 blobs.

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 mais detalhes, consulte Definição de nível de acesso à conta padrão.

Para contas de armazenamento que utilizam a versão prévia pública do smart tier, mover objetos para o smart tier só é possível através da configuração padrão do nível de acesso à conta. Os objetos no nível inteligente podem ser movidos individualmente para diferentes níveis ao definir explicitamente um nível diferente para um objeto. Uma vez movidos para um nível explícito, os objetos não podem ser redirecionados para o nível inteligente. Para mais informações, consulte Otimização de custos com a camada inteligente.

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 Arquivado. A configuração padrão é Hot.

  4. Selecione Rever + Criar para validar as 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 de um blob ou conjunto de blobs ao carregar para quente, frio, frio extremo 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, morna 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çada e defina a camada de 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 Blob legada, deve-se especificar a configuração do nível de acesso padrão como frequente ou esporádico. 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 tenha um nível atribuído explicitamente inferirá o seu nível a partir da configuração padrão do nível 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 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 um nível 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.

Utilize PowerShell, CLI do Azure, AzCopy v10 ou uma das bibliotecas de cliente do Azure Storage para mover um blob para um escalão 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 dos blobs em grande escala em várias contas de armazenamento, com base num conjunto de condições que 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 pretende alterar a classificação.

  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 Copiar Blob 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 Copy Blob é recomendado para a maioria dos cenários em que se está movendo um blob para uma camada mais quente ou reidratando um blob da camada de arquivo.

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 dos blobs através de uma operação em lote, utilize uma das bibliotecas 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