Svenska Svenska | English English

Aktivera Cachning på dina Azure Storage Blobs

Johan Åhlén by Johan Åhlén • Updated

Azure Blob Storage kan användas för att publicera filer direkt till webben. Faktiskt så använder den här websajten Azure Blog Storage för att publicera bilder och andra resurser. Varje objekt får en URL för direkt åtkomst från webbrowser. Dock är det bra för prestanda och god sed att sätta upp cachning på bilder och webresurser. Här skall jag beskriva hur.

Genom att ställa in Public access level på din Storage Container till "Blob", så blir dina blobbar åtkomliga för alla genom deras URL:er. Du kan länka till dem och använda dem från vilken website som helst.

Azure Storage Container Access Level

Tyvärr så ger dig inte Azure Portalen åtkomst till cachningsinställningarna för dina blobs. De syns inte under Blob Properties.

Azure Storage Blob overview

Som tur är så är det enkelt att köra scripts i Azure Portalen.

Använda Cloud Shell för att ställa in Blob Caching

Azure Cloud Shell låter dig enkelt köra PowerShell- eller Bash-script inifrån Azure Portal. Öppna den och välj Powershell-läge.

Azure Portal Cloud Shell

Kopiera därefter scriptet nedan till en texteditor. Uppdatera inställningarna och klistra in i Cloud Shell. max-age mäts i sekunder. För en komplett beskrivning av cachecontrol inställningar, se här.


$resourcegroup = "your resource group"
$account = "your storage account"
$container = "your container"
$cachecontrol = "public,max-age=259200" # 3 days

Set-AzCurrentStorageAccount -ResourceGroupName $resourcegroup -Name $account
$blobnames = (Get-AzStorageBlob -Container $container).Name

Foreach ($blobname in $blobnames)
{
  Write-Host $blob.Name
  $blob = Get-AzStorageBlob -Container $container -Blob $blobname
  $blob.ICloudBlob.Properties.CacheControl = $cachecontrol
  $blob.ICloudBlob.SetProperties()
}

Du kan också visa cacheinställningarna på liknande sätt:


$resourcegroup = "your resource group"
$account = "your storage account"
$container = "your container"

Set-AzCurrentStorageAccount -ResourceGroupName $resourcegroup -Name $account
$blobnames = (Get-AzStorageBlob -Container $container).Name

Foreach ($blobname in $blobnames)
{
  $blob = Get-AzStorageBlob -Container $container -Blob $blobname
  Write-Host $blob.Name $blob.ICloudBlob.Properties.CacheControl
}
Testning

Du skall nu kunna testa cachningen från valfri web browser:

Web Browser view caching

Lycka till!

Azure Azure Storage

More about Azure

Azure Web App Uppdateras Inte Efter Publicering
Hur Du Kör Din Azure Web App Från Zipfil
WEBSITE_DYNAMIC_CACHE och WEBSITE_LOCAL_CACHE_OPTION