Arquivar um blob

A camada de arquivos é uma camada offline que armazena dados de blob raramente acessados. A camada de arquivos oferece os custos mais baixos de armazenamento, mas os mais altos de recuperação de dados e latência em comparação com as camadas online (frequente e esporádica). Os dados devem permanecer na camada de arquivos por pelo menos 180 dias ou estar sujeitos a uma cobrança de exclusão antecipada. Para saber mais sobre a camada de arquivos, consulte Camada de acesso aos arquivos.

Um blob não pode ser lido nem modificado enquanto estiver na camada de arquivos. Para ler ou baixar um blob na camada de arquivos, você precisa primeiro reidratá-lo para uma camada online, seja a quente ou a fria. Os dados na camada de arquivo podem levar até 15 horas para reidratar, dependendo da prioridade que você especificar para a operação reidratação. Para obter mais informações sobre reidratação de blob, confira Visão geral da reidratação de blob da camada de arquivos.

Cuidado

Um blob na camada de arquivos está offline. Ou seja, não pode ser lido nem modificado até ser reidratado. O processo de reidratação pode levar várias horas e tem custos associados. Antes de mover dados para a camada de arquivos, considere se a colocação de dados de blob offline pode afetar seus fluxos de trabalho.

Você pode usar o portal do Azure, o PowerShell, a CLI do Azure ou uma das bibliotecas de clientes do Armazenamento do Azure para gerenciar o arquivamento de dados.

Arquivar blobs em upload

Para arquivar um ou mais blobs em upload, crie o blob diretamente na camada de arquivos.

Para arquivar um blob ou um conjunto de blobs em upload no 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 Arquivos.

  5. Selecione o botão Carregar.

    Screenshot showing how to upload blobs to the archive tier in the Azure portal.

Arquivar um blob existente

Você pode mover um blob existente para a camada de arquivos de uma destas duas maneiras:

  • Você pode alterar a camada de um blob com a operação Definir Camada do Blob. Definir Camada do Blob move um único blob de uma camada para outra.

    Tenha em mente que, quando você move um blob para a camada de arquivos com Definir Camada do Blob, não é possível ler ou modificar os dados do blob até reidratá-lo. Se você precisar ler ou modificar os dados do blob antes que o intervalo de exclusão antecipada tenha decorrido, considere usar uma operação Copiar Blob para criar uma cópia do blob na camada de arquivos.

  • Você pode copiar um blob em uma camada online para a camada de arquivos com a operação Copiar Blob. Você pode chamar a operação Copiar Blob a fim de copiar um blob de uma camada online (Frequente ou Esporádica) para a camada de arquivos. O blob de origem permanece na camada online e você pode continuar lendo ou modificando seus dados na camada online.

Arquivar um blob existente com a alteração da camada

Use a operação Definir Camada do Blob a fim de mover um blob da camada Frequente ou Esporádica para a camada de arquivos. A operação Definir Camada de Blob é melhor para cenários em que você não precise acessar os dados arquivados antes que o intervalo de exclusão antecipada tenha decorrido.

A operação Definir Camada de Blob altera a camada de um único blob. Para mover um conjunto de blobs para a camada de arquivos com desempenho ideal, a Microsoft recomenda executar uma operação de arquivamento em massa. A operação de arquivamento em massa envia um lote de chamadas de Definir Camada de Blob ao serviço em uma única transação. Para saber mais, confira Arquivamento em massa.

Para mover um blob existente para a camada de arquivos no portal do Azure, siga estas etapas:

  1. Navegue até o contêiner do blob.

  2. Selecione o blob a ser arquivado.

  3. Clique no botão Alterar camada.

  4. Selecione Arquivar no menu suspenso Camada de acesso.

  5. Selecione Salvar.

    Screenshot showing how to set a blob's tier to Archive in the Azure portal

Arquivar um blob existente com uma operação de cópia

Use a operação Copiar Blob para copiar um blob da camada Frequente ou Esporádica para Arquivos. O blob de origem permanece na camada frequente ou esporádica. Já o blob de destino é criado na camada de arquivos.

Uma operação Copiar Blob é melhor para cenários em que talvez seja necessário ler ou modificar os dados arquivados antes que o intervalo de exclusão antecipada tenha decorrido. Você pode acessar os dados do blob de origem sem precisar reidratar o blob arquivado.

N/D

Arquivo em massa

Para mover blobs para a camada de arquivos 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 a camada de arquivos, 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 arquivar blobs com uma operação em lote, use uma das bibliotecas de clientes do Armazenamento do Microsoft 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.

Usar políticas de gerenciamento do ciclo de vida para arquivar Blobs

É possível otimizar os custos de dados de blob que raramente são acessados criando políticas de gerenciamento de ciclo de vida que movem automaticamente os blobs para a camada de arquivo quando não foram acessados ou modificados por um período de tempo especificado. Depois de configurar uma política de gerenciamento de ciclo de vida, o Armazenamento do Microsoft Azure a executa uma vez por dia. Para obter mais informações sobre políticas de gerenciamento do ciclo de vida, confira Otimizar custos ao gerenciar automaticamente o ciclo de vida de dados.

É possível usar o portal do Azure, o PowerShell, a CLI do Azure ou um modelo do Azure Resource Manager para criar uma política de gerenciamento de ciclo de vida. Para simplificar, esta seção mostra como criar uma política de gerenciamento de ciclo de vida somente portal do Azure sistema. Para obter mais exemplos que mostram como criar políticas de gerenciamento do ciclo de vida, confira Configurar uma política de gerenciamento do ciclo de vida.

Cuidado

Antes de usar uma política de gerenciamento do ciclo de vida para mover dados para a camada de arquivos verifique se os dados não precisam ser excluídos ou movidos para outra camada por pelo menos 180 dias. Os dados excluídos ou movidos para uma camada diferente antes do período de 180 dias decorrido estão sujeitos a uma valor de exclusão antecipada.

Além disso, tenha em mente que os dados na camada de arquivos devem ser re-reidratados antes que possam ser lidos ou modificados. A reidratação de um blob da camada de arquivos pode levar várias horas e tem custos associados.

Para criar uma política de gerenciamento de ciclo de vida para arquivar blobs no portal do Azure, siga estas etapas:

Etapa 1: criar a regra e especificar o tipo de blob

  1. Navegue até sua conta de armazenamento no portal.

  2. Em Gerenciamento de dados, localize as configurações de Gerenciamento do ciclo de vida.

  3. Selecione o botão Adicionar uma regra.

  4. Na guia Detalhes, especifique um nome para sua regra.

  5. Especifique o escopo da regra: Aplicar regra a todos os blobs em sua conta de armazenamento ou Limitar blobs com filtros.

  6. Selecione os tipos de blobs para os quais a regra deve ser aplicada e especifique se deve incluir instantâneos de blob ou versões.

    Screenshot showing how to configure a lifecycle management policy - Details tab.

Etapa 2: adicionar condições de regra

  1. Dependendo de suas seleções, você pode configurar regras para blobs base (versões atuais), versões anteriores ou instantâneos de blob. Especifique uma das duas condições para verificar:

    • Os objetos foram modificados pela última vez há alguns dias.
    • Os objetos foram criados há alguns dias.
    • Os objetos foram acessados pela última vez há alguns dias.

    Somente uma dessas condições pode ser aplicada para mover um tipo específico de objeto para a camada de arquivos por regra. Por exemplo, se você definir uma ação que arquiva os blobs base se eles não foram modificados por 90 dias, você não poderá definir também uma ação que arquiva os blobs base se eles não foram acessados por 90 dias. Da mesma forma, você pode definir uma ação por regra com qualquer uma dessas condições para arquivar versões anteriores e outra para arquivar instantâneos.

  2. Em seguida, especifique o número de dias a seguir depois que o objeto for modificado ou acessado.

  3. Especifique que o objeto deve ser movido para a camada de arquivos depois que o intervalo tiver decorrido.

    Screenshot showing how to configure a lifecycle management policy - Base blob tab.

  4. Se você optar por limitar os blobs afetados pela regra com filtros, poderá especificar um filtro, seja com um prefixo de blob ou uma combinação de índice de blob.

Etapa 3: verifique se a regra exclui blobs reidratados

Se você reidratar um blob alterando a camada dele, essa regra moverá o blob de volta para a camada de arquivos se a hora da última modificação, a hora de criação ou a hora do último acesso estiver além do limite definido para a política.

Se você tiver selecionado a condição de regra Modificados por último, poderá impedir que isso aconteça selecionando Ignorar blobs que foram reidratados nos últimos e, em seguida, inserindo o número de dias com que você deseja que um blob reidratado seja excluído dessa regra.

Screenshot showing the skip blobs that have been rehydrated in the last setting.

Observação

Essa opção será exibida somente se você tiver selecionado a condição de regra Modificados por último.

Selecione o botão Adicionar para adicionar a regra à política.

Exibir a política JSON

Depois de criar a política de gerenciamento do ciclo de vida, você pode exibir o JSON para a política na página Gerenciamento do ciclo de vida alternando do modo de Exibição de Lista para Exibição de código.

Este é o JSON para a política de gerenciamento de ciclo de vida simples criada nas imagens mostradas acima:

{
  "rules": [
    {
      "enabled": true,
      "name": "sample-archive-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToArchive": {
              "daysAfterLastAccessTimeGreaterThan": 90,
              "daysAfterLastTierChangeGreaterThan": 7
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ]
        }
      }
    }
  ]
}

Confira também