Gerencie expiração de armazenamento Blob do Azure na Rede de Distribuição de Conteúdo do Microsoft Azure
Importante
A CDN do Azure Standard (clássica) será desativada em 30 de setembro de 2027. Para evitar qualquer interrupção de serviço, é importante migrar seus perfis da CDN do Azure Standard (clássica) para a camada Azure Front Door Standard ou Premium até 30 de setembro de 2027. Para obter mais informações, confira CDN do Azure Standard (clássica).
O CDN do Azure da Edgio será desativado em 4 de novembro de 2025. Você deve migrar sua carga de trabalho para o Azure Front Door antes desta data para evitar interrupção do serviço.. Para obter mais informações, veja Perguntas frequentes sobre a aposentadoria do CDN do Azure da Edgeo.
O Serviço de armazenamento de blobs no Armazenamento do Microsoft Azure é uma das várias origens baseadas no Azure integradas à Rede de Distribuição de Conteúdo do Azure. Qualquer conteúdo de blob publicamente acessível pode ser armazenado em cache na Rede de Distribuição de Conteúdo do Azure até que a vida útil (TTL) tenha decorrido. A TTL é determinada pelo cabeçalho Cache-Control
na resposta HTTP do servidor de origem. Este artigo descreve várias maneiras que você pode definir o cabeçalho Cache-Control
em um blob no Armazenamento do Azure.
Também é possível controlar as configurações de cache do portal do Azure definindo regras de cache da rede de distribuição de conteúdo. Se você criar uma regra de cache e definir o comportamento de cache para Substituição ou Ignorar cache, as configurações de cache fornecidas pela origem discutidas neste artigo serão ignoradas. Para obter informações sobre conceitos gerais de cache, consulte Como funciona o cache.
Dica
Você pode optar por não definir nenhuma vida útil em um blob. Nesse caso, a Rede de Distribuição de Conteúdo do Azure aplica automaticamente um TTL padrão de sete dias, exceto se você tiver configurado regras de cache no portal do Azure. Esse padrão TTL aplica-se somente para otimizações de entrega da web gerais. Para otimizações de arquivo grande, o TTL padrão é de um dia e para otimizações de streaming de mídia, o TTL padrão é um ano.
Para obter mais informações sobre como a Rede de Distribuição de Conteúdo do Azure trabalha para acelerar o acesso a blobs e outros arquivos, consulte Visão geral da Rede de Distribuição de Conteúdo do Azure.
Para mais informações sobre o Armazenamento de Blobs do Azure, confira Introdução ao armazenamento de Blobs.
Configurar cabeçalhos de controle de cache usando regras de cache da rede de distribuição de conteúdo
O método preferido para configuração do cabeçalho Cache-Control
do blob é usar regras de cache no Portal do Azure. Para obter mais informações sobre regras de cache da rede de distribuição de conteúdo, consulte Controlar o comportamento de cache da Rede de Distribuição de Conteúdo do Azure com regras de cache.
Observação
As regras de cache estão disponíveis apenas para perfis CDN do Azure Standard da Edgio. Em perfis CDN do Azure Premium da Edgio, é necessário usar o mecanismo de regras da Rede de Distribuição de Conteúdo do Azure no portal Gerenciar para uma funcionalidade semelhante.
Para navegar até a página de regras de cache da CDN:
No portal do Azure, selecione um perfil da rede de distribuição de conteúdo e selecione o ponto de extremidade para o blob.
No painel esquerdo em Configurações, selecione Regras de cache.
A página Regras de cache é exibida.
Para configurar os cabeçalho de Controle de Cache do serviço de armazenamento de Blobs usando regras de cache globais:
Em Regras de cache globais, defina Comportamento de cache da cadeia de caracteres de consulta para Ignorar cadeias de consulta e defina Comportamento do cache para Substituição.
Para Duração da expiração do cache, insira 3600 na caixa Segundosou 1 na caixa Horas.
Essa regra de cache global define uma duração de cache de uma hora e afeta todas as solicitações para o ponto de extremidade. Ela substitui todos os cabeçalhos HTTP
Cache-Control
ouExpires
que são enviados pelo servidor de origem especificado pelo ponto de extremidade.Selecione Salvar.
Para definir os cabeçalhos de Controle de Cache do arquivo de blob usando regras de cache personalizadas:
Em Personalizar regras de cache, crie duas condições de combinação:
a. Para a primeira condição de correspondência, ajuste Condição de correspondência para Path e insira
/blobcontainer1/*
para o Valor de correspondência. Defina o Comportamento de cache para Substituição e insira 4 na caixa Horas.B. Para a segunda condição de correspondência, ajuste Condição de correspondência para Path e insira
/blobcontainer1/blob1.txt
para o Valor de correspondência. Defina o Comportamento de cache para Substituição e insira 2 na caixa Horas.A primeira regra de cache personalizada estabelece uma duração de cache de quatro horas para qualquer arquivo de blob na pasta
/blobcontainer1
no servidor de origem especificado pelo ponto de extremidade. A segunda regra substitui a primeira regra somente para o arquivo de blobblob1.txt
e define uma duração de cache de duas horas para isso.Selecione Salvar.
Configurando cabeçalhos de Cache-Control usando Azure PowerShell
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Azure PowerShell é uma das maneiras mais rápidas e eficientes de administrar os serviços do Azure. Use o cmdlet Get-AzStorageBlob
para obter uma referência para o blob, em seguida, defina a propriedade .ICloudBlob.Properties.CacheControl
.
Por exemplo:
# Create a storage context
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key>"
# Get a reference to the blob
$blob = Get-AzStorageBlob -Context $context -Container "<container name>" -Blob "<blob name>"
# Set the CacheControl property to expire in 1 hour (3600 seconds)
$blob.ICloudBlob.Properties.CacheControl = "max-age=3600"
# Send the update to the cloud
$blob.ICloudBlob.SetProperties()
Dica
Você também pode usar o PowerShell para gerenciar os perfis e os ponto de extremidade da rede de distribuição de conteúdo.
Configurando cabeçalhos de Cache-Control usando .NET
Para especificar o cabeçalho Cache-Control
de um blob usando o código .NET, use a biblioteca de clientes do Armazenamento do Azure para .NET para definir a propriedade BlobHttpHeaders.CacheControl.
Por exemplo:
class Program
{
const string containerName = "<container name>";
const string blobName = "<blob name>";
const string connectionString = "<storage connection string>";
static void Main()
{
// Retrieve storage account information from connection string
BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
// Create a blob client for interacting with the blob service.
BlobClient blob = container.GetBlobClient(blobName);
// Set the CacheControl property to expire in 1 hour (3600 seconds)
blob.SetHttpHeaders(new BlobHttpHeaders {CacheControl = "max-age=3600" });
}
}
Dica
Existem mais exemplos de código .NET disponíveis nos Exemplos de Armazenamento de Blobs do Azure para .NET.
Configurando cabeçalhos de Cache-Control usando outros métodos
Gerenciador de Armazenamento do Azure
Com Azure Storage Explorer, você pode exibir e editar seus recursos de armazenamento de blob, incluindo propriedades, como a propriedade CacheControl.
Para atualizar a propriedade CacheControl de um blob com o Gerenciador de Armazenamento do Microsoft Azure:
- Selecione um blob e, em seguida, Propriedades no menu de contexto.
- Role para baixo até a propriedade CacheControl.
- Insira um valor e, em seguida, selecione Salvar.
A CLI do Azure
Com a CLIdo Azure, você pode gerenciar recursos de blob do Azure a partir da linha de comando. Para definir um cabeçalho de cache-control ao carregar um blob com a CLI do Azure, defina a propriedade cacheControl usando a opção -p
. O exemplo a seguir mostra como definir o TTL para uma hora (3600 segundos):
azure storage blob upload -c <connectionstring> -p cacheControl="max-age=3600" .\<blob name> <container name> <blob name>
API REST dos serviços do Armazenamento do Microsoft Azure
Você pode usar a API REST de serviços de Armazenamento do Microsoft Azure para definir explicitamente a propriedade x-ms-blob-cache-control usando as seguintes operações em uma solicitação:
Testando o cabeçalho de Controle de Cache
Você pode facilmente verificar as configurações TTL dos seus blobs. Com as ferramentas para desenvolvedores do seu navegador, teste se o blob inclui o cabeçalho de resposta Cache-Control
. Você também pode usar uma ferramenta como Wget ou Fiddler para examinar os cabeçalhos de resposta.