Cachecontrol no Azure blob storage

Depois de subir o site em um storage de objetos, é importante configurar o header Cachecontrol. Neste scrap, eu vou mostrar um script de como fazer no Azure blob storage, e para maiores dúvidas sobre Cachecontrol, sugiro a leitura do artigo do Google falando sobre Http Caching

Uma vez de posse de sua StorageAccountkey, você pode utilizar o az ou Get-AzStorageAccountKey para isso.

Primeiro você precisa pegar o contexto da sua storage account, vide:

$ctx = New-AzStorageContext -StorageAccountName "nome da storage account" -StorageAccountKey "chave"

Agora o script abaixo pega todos assets das pastas images, css e js, e fixa no header o max-age conforme abaixo:

Get-AzStorageBlob -Context $ctx -Container '$web' -Prefix 'images' | % {$_.ICloudBlob.Properties.CacheControl = "max-age=2592000";$_.ICloudBlob.SetProperties()}
Get-AzStorageBlob -Context $ctx -Container '$web' -Prefix 'css' | % {$_.ICloudBlob.Properties.CacheControl = "max-age=86400";$_.ICloudBlob.SetProperties()}                
Get-AzStorageBlob -Context $ctx -Container '$web' -Prefix 'js' | % {$_.ICloudBlob.Properties.CacheControl = "max-age=86400";$_.ICloudBlob.SetProperties()}

Um site legal para validar se a configuração teve sucesso e inclusive acompanhar é o WebPageTest

cya! 🎶🎶🎶

Última modificação: 19 January 2021