Arquivar um blob

A camada de arquivamento é uma camada offline para armazenar dados de blob que raramente são acessados. O nível de arquivamento oferece os menores custos de armazenamento, mas maiores custos de recuperação de dados e latência em comparação com os níveis on-line (hot and cool). Os dados devem permanecer na camada de armazenamento de arquivo durante, pelo menos, 180 dias ou estar sujeitos a uma taxa de eliminação antecipada. Para obter mais informações sobre a camada de arquivamento, consulte Camada de acesso ao arquivamento.

Enquanto um blob estiver na camada de arquivamento, ele não pode ser lido ou modificado. Para ler ou baixar um blob na camada de arquivamento, você deve primeiro reidratá-lo para uma camada online, quente ou fria. Os dados na camada de arquivamento podem levar até 15 horas para serem reidratados, dependendo da prioridade especificada para a operação de reidratação. Para obter mais informações sobre a reidratação de blob, consulte Visão geral da reidratação de blob na camada de arquivamento.

Atenção

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

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

Arquivar blobs no upload

Para arquivar um ou mais blob no upload, crie o blob diretamente na camada de arquivamento.

Para arquivar um blob ou conjunto de blobs no carregamento 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 Arquivar.

  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 arquivo morto de duas maneiras:

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

    Lembre-se de que, quando você move um blob para a camada de arquivo com Definir camada de blob, não pode ler ou modificar os dados do blob até reidratar o blob. Se for necessário ler ou modificar os dados do blob antes que o intervalo de exclusão inicial tenha decorrido, considere usar uma operação Copiar Blob para criar uma cópia do blob na camada de arquivamento.

  • Você pode copiar um blob em uma camada online para a camada de arquivo com a operação Copiar Blob . Você pode chamar a operação Copiar Blob para copiar um blob de uma camada online (quente ou legal) para a camada de arquivamento. O blob de origem permanece na camada online e você pode continuar a ler ou modificar seus dados na camada online.

Arquivar um blob existente alterando sua camada

Use a operação Definir Camada de Blob para mover um blob da camada Hot ou cool para a camada de arquivamento. A operação Definir Camada de Blob é melhor para cenários em que você não precisará 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 arquivamento 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 set Blob Tier para o serviço em uma única transação. Para obter mais informações, consulte Arquivo em massa.

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

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

  2. Selecione o blob a ser arquivado.

  3. Selecione o botão Alterar camada .

  4. Selecione Arquivar na lista suspensa Camada de acesso.

  5. Selecione Guardar.

    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 quente ou fria para a camada de arquivamento. O blob de origem permanece na camada quente ou fria, enquanto o blob de destino é criado na camada de arquivamento.

Uma operação de Blob de Cópia é 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 arquivo morto 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 a camada de arquivamento, 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 arquivar 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.

Usar políticas de gerenciamento de ciclo de vida para arquivar blobs

Você pode otimizar os custos para 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 arquivamento quando eles não foram acessados ou modificados por um período de tempo especificado. Depois de configurar uma política de gerenciamento do ciclo de vida, o Armazenamento do Azure a executa uma vez por dia. Para obter mais informações sobre políticas de gerenciamento do ciclo de vida, consulte Otimizar custos gerenciando automaticamente o ciclo de vida dos dados.

Você pode usar o portal do Azure, PowerShell, 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 no portal do Azure. Para obter mais exemplos mostrando como criar políticas de gerenciamento do ciclo de vida, consulte Configurar uma política de gerenciamento do ciclo de vida.

Atenção

Antes de usar uma política de gerenciamento de ciclo de vida para mover dados para a camada de arquivamento, verifique se esses dados não precisam ser excluídos ou movidos para outra camada por pelo menos 180 dias. Os dados eliminados ou transferidos para um nível diferente antes de decorrido o período de 180 dias estão sujeitos a uma taxa de eliminação antecipada.

Lembre-se também de que os dados na camada de arquivamento devem ser reidratados antes de poderem ser lidos ou modificados. A reidratação de um blob da camada de arquivamento 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 aos quais a regra deve ser aplicada e especifique se deseja incluir instantâneos ou versões de blob.

    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.

    Apenas uma dessas condições pode ser aplicada para mover um tipo específico de objeto para a camada de arquivo por regra. Por exemplo, se você definir uma ação que arquive blobs base se eles não tiverem sido modificados por 90 dias, também não poderá definir uma ação que arquive blobs base se eles não tiverem sido 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 decorrer após o objeto ser modificado ou acessado.

  3. Especifique que o objeto deve ser movido para a camada de arquivo morto após o intervalo ter 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 correspondência de índice de blob.

Etapa 3: Certifique-se de que a regra exclui bolhas reidratadas

Se você reidratar um blob alterando sua camada, essa regra moverá o blob de volta para a camada de arquivamento 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ê selecionou a condição Última regra modificada , poderá evitar que isso aconteça selecionando Ignorar blobs que foram reidratados na última e, em seguida, inserindo o número de dias em que deseja que um blob reidratado seja excluído dessa regra.

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

Nota

Essa opção aparecerá somente se você tiver selecionado a condição Última regra modificada .

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

Ver 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 o modo de exibição decódigo.

Aqui está o JSON para a política simples de gerenciamento do ciclo de vida 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"
          ]
        }
      }
    }
  ]
}

Consulte também