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.
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:
Navegue até a página Contas de armazenamento e selecione o botão Criar .
Preencha a guia Noções básicas .
Na guia Avançado, em Armazenamento de Blob, defina a camada de Acesso como Quente, Frio ou Frio. A configuração padrão é Hot.
Selecione Rever + Criar para validar as suas definições e criar a sua conta de armazenamento.
Para atualizar a camada de acesso padrão para uma conta de armazenamento existente no portal do Azure, siga estas etapas:
Navegue até a conta de armazenamento no portal do Azure.
Em Definições, selecione Configuração.
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.
Guardar as suas alterações.
Para alterar a configuração da camada de acesso padrão para uma conta de armazenamento com o PowerShell, chame o comando Set-AzStorageAccount , especificando a nova camada de acesso padrão.
Para alterar a configuração da camada de acesso padrão para uma conta de armazenamento com o PowerShell, chame o comando Set-AzStorageAccount , especificando a nova camada de acesso padrão.
# Change the storage account tier to cool
az storage account update \
--resource-group <resource-group> \
--name <storage-account> \
--access-tier Cool
N/A
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:
Navegue até o contêiner de destino.
Selecione o botão Carregar.
Selecione o(s) ficheiro(s) a carregar.
Expanda a seção Avançado e defina a camada Acesso como Hot ou Cool.
Selecione o botão Carregar.
Para carregar um blob ou conjunto de blobs para uma camada específica com o PowerShell, chame o comando Set-AzStorageBlobContent , conforme mostrado no exemplo a seguir. Lembre-se de substituir os valores de espaço reservado entre colchetes pelos seus próprios valores:
$rgName = <resource-group>
$storageAccount = <storage-account>
$containerName = <container>
# tier can be hot, cool, cold, or archive
$tier = <tier>
# Get context object
$ctx = New-AzStorageContext -StorageAccountName $storageAccount -UseConnectedAccount
# Create new container.
New-AzStorageContainer -Name $containerName -Context $ctx
# Upload a single file named blob1.txt to the cool tier.
Set-AzStorageBlobContent -Container $containerName `
-File "blob1.txt" `
-Blob "blob1.txt" `
-Context $ctx `
-StandardBlobTier Cool
# Upload the contents of a sample-blobs directory to the cool tier, recursively.
Get-ChildItem -Path "C:\sample-blobs" -File -Recurse |
Set-AzStorageBlobContent -Container $containerName `
-Context $ctx `
-StandardBlobTier $tier
Para carregar um blob para uma camada específica com a CLI do Azure, chame o comando az storage blob upload , conforme mostrado no exemplo a seguir. Lembre-se de substituir os valores de espaço reservado entre colchetes pelos seus próprios valores. Substitua o espaço reservado <tier> por hot, cool, coldou archive.
Para carregar um conjunto de blobs em uma camada específica com a CLI do Azure, chame o comando az storage blob upload-batch , conforme mostrado no exemplo a seguir. Lembre-se de substituir os valores de espaço reservado entre colchetes pelos seus próprios valores. Substitua o espaço reservado <tier> por hot, cool, coldou archive.
Para carregar um blob para uma camada específica usando AzCopy, use o comando azcopy copy e defina o --block-blob-tier parâmetro como hot, coolou archive.
Nota
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples (''). Este exemplo exclui o token SAS porque pressupõe que você forneceu credenciais de autorização usando o ID do Microsoft Entra. Consulte o artigo Introdução ao AzCopy para saber mais sobre as maneiras de fornecer credenciais de autorização para o serviço de armazenamento.
Para carregar um conjunto de blobs para uma camada específica usando AzCopy, consulte o diretório local ou o conteúdo do diretório local e acrescente --recursive=true ao comando.
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).
Para determinar a camada de acesso de um blob e se ele é inferido do Azure PowerShell, recupere o blob e verifique suas propriedades AccessTier e AccessTierInferred .
$rgName = "<resource-group>"
$storageAccount = "<storage-account>"
$containerName = "<container>"
$blobName = "<blob>"
# Get the storage account context.
$ctx = New-AzStorageContext -StorageAccountName $storageAccount -UseConnectedAccount
# Get the blob from the service.
$blob = Get-AzStorageBlob -Context $ctx -Container $containerName -Blob $blobName
# Check the AccessTier and AccessTierInferred properties.
# If the access tier is inferred, that property returns true.
$blob.BlobProperties.AccessTier
$blob.BlobProperties.AccessTierInferred
Para determinar a camada de acesso de um blob e se ele é inferido da CLI do Azure, recupere o blob e verifique suas propriedades blobTier e blobTierInferred .
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:
Navegue até o blob para o qual você deseja alterar a camada.
Selecione o blob e, em seguida, selecione o botão Alterar camada .
Na caixa de diálogo Alterar camada, selecione a camada de destino.
Selecione o botão Save.
Para alterar a camada de um blob para uma camada mais fria com o PowerShell, use a propriedade BlobClient do blob para retornar uma referência .NET ao blob e, em seguida, chame o método SetAccessTier nessa referência. Lembre-se de substituir os espaços reservados entre colchetes angulares pelos seus próprios valores:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$containerName = "<container>"
$blobName = "<blob>"
$tier = "<tier>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Change the blob's access tier.
$blob = Get-AzStorageBlob -Container $containerName -Blob $blobName -Context $ctx
$blob.BlobClient.SetAccessTier($tier, $null, "Standard")
Para alterar a camada de um blob para uma camada mais fria com a CLI do Azure, chame o comando az storage blob set-tier . Lembre-se de substituir os espaços reservados entre colchetes angulares pelos seus próprios valores:
Para alterar a camada de um blob para uma camada mais fria, use o comando azcopy set-properties e defina o -block-blob-tier parâmetro.
Importante
O uso do AzCopy para alterar a camada de acesso de um blob está atualmente em VISUALIZAÇÃO.
Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
Nota
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples (''). Este exemplo exclui o token SAS porque pressupõe que você forneceu credenciais de autorização usando o ID do Microsoft Entra. Consulte o artigo Introdução ao AzCopy para saber mais sobre as maneiras de fornecer credenciais de autorização para o serviço de armazenamento.
Para alterar a camada de acesso para todos os blobs em um diretório virtual, consulte o nome do diretório virtual em vez do nome do blob e acrescente --recursive=true ao comando.
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.
Para copiar um blob de cool para hot com o PowerShell, chame o comando Start-AzStorageBlobCopy e especifique a camada de destino. Lembre-se de substituir os espaços reservados entre colchetes angulares pelos seus próprios valores:
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
$srcContainerName = "<source-container>"
$destContainerName = "<dest-container>"
$srcBlobName = "<source-blob>"
$destBlobName = "<dest-blob>"
# Get the storage account context
$ctx = (Get-AzStorageAccount `
-ResourceGroupName $rgName `
-Name $accountName).Context
# Copy the source blob to a new destination blob in hot tier.
Start-AzStorageBlobCopy -SrcContainer $srcContainerName `
-SrcBlob $srcBlobName `
-DestContainer $destContainerName `
-DestBlob $destBlobName `
-StandardBlobTier Hot `
-Context $ctx
Para copiar um blob para uma camada mais quente com a CLI do Azure, chame o comando az storage blob copy start e especifique a camada de destino. Lembre-se de substituir os espaços reservados entre colchetes angulares pelos seus próprios valores:
Para copiar um blob de cool para hot com AzCopy, use o comando azcopy copy e defina o --block-blob-tier parâmetro como hot.
Nota
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Este exemplo exclui o token SAS porque pressupõe que você forneceu credenciais de autorização usando o ID do Microsoft Entra. Consulte o artigo Introdução ao AzCopy para saber mais sobre as maneiras de fornecer credenciais de autorização para o serviço de armazenamento.
O AzCopy não suporta cópia de um blob de origem na camada de arquivamento.
A operação de cópia é síncrona, portanto, quando o comando retorna, todos os arquivos são copiados.
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:
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.