Hantera förfallodatum för Azure Blob Storage i Azure Content Delivery Network
Viktigt!
Azure CDN Standard från Microsoft (klassisk) dras tillbaka den 30 september 2027. För att undvika avbrott i tjänsten är det viktigt att du migrerar dina Azure CDN Standard-profiler från Microsofts (klassiska) profiler till Azure Front Door Standard- eller Premium-nivån senast den 30 september 2027. Mer information finns i Azure CDN Standard från Microsoft (klassisk) tillbakadragning.
Azure CDN från Edgio drogs tillbaka den 15 januari 2025. Mer information finns i Azure CDN från vanliga frågor och svar om Edgio-pensionering.
Blob Storage-tjänsten i Azure Storage är ett av flera Azure-baserade ursprung som är integrerat med Azure Content Delivery Network. Offentligt tillgängligt blobinnehåll kan cachelagras i Azure Content Delivery Network till dess att TTL(Time To Live) förflutit. TTL bestäms av Cache-Control
huvudet i HTTP-svaret från ursprungsservern. Den här artikeln beskriver flera sätt som du kan ange Cache-Control
huvudet på en blob i Azure Storage.
Du kan också styra cacheinställningarna från Azure Portal genom att ange cachelagringsregler för innehållsleveransnätverket. Om du skapar en cachelagringsregel och anger cachelagringsbeteendet till Åsidosätt eller Kringgå cacheminnet ignoreras de cachelagringsinställningar som anges i den här artikeln. Information om allmänna cachelagringsbegrepp finns i Så här fungerar cachelagring.
Dricks
Du kan välja att inte ange någon TTL på en blob. I det här fallet tillämpar Azure Content Delivery Network automatiskt en standard-TTL på sju dagar, såvida du inte har konfigurerat cachelagringsregler i Azure Portal. Denna standard-TTL gäller endast för allmänna webbleveransoptimeringar. För stora filoptimeringar är standard-TTL en dag, och för medieströmningsoptimeringar är standard-TTL ett år.
Mer information om hur Azure Content Delivery Network fungerar för att påskynda åtkomsten till blobar och andra filer finns i Översikt över Azure Content Delivery Network.
Mer information om Azure Blob Storage finns i Introduktion till Blob Storage.
Ange cachekontrollhuvuden med hjälp av cachelagringsregler för innehållsleveransnätverk
Den bästa metoden för att ange en blobrubrik Cache-Control
är att använda cachelagringsregler i Azure Portal. Mer information om cachelagringsregler för innehållsleveransnätverk finns i Kontrollera cachelagringsbeteendet för Azure Content Delivery Network med cachelagringsregler.
Kommentar
Cachelagringsregler är endast tillgängliga för Azure CDN Standard från Edgio-profiler . För Azure CDN Premium från Edgio-profiler måste du använda regelmotorn för Azure Content Delivery Network i Hantera portalen för liknande funktioner.
Så här navigerar du till sidan för CDN-cachelagringsregler:
I Azure Portal väljer du en nätverksprofil för innehållsleverans och väljer sedan blobens slutpunkt.
I det vänstra fönstret under inställningar, väljer du Cachelagringsregler.
Sidan Cachelagringsregler visas.
Så här anger du cachekontrollrubrikerna för en Blob Storage-tjänst med hjälp av globala cachelagringsregler:
Under Globala cachelagringsregler anger du Beteende för cachelagring av frågesträngar till Ignorera frågesträngar och anger Cachelagringsbeteende till Åsidosättning.
För cachens giltighetstid anger du 3600 i rutan Sekunder eller 1 i rutan Timmar .
Den här globala cachelagringsregeln anger en cachevaraktighet på en timme och påverkar alla begäranden till slutpunkten. Den åsidosätter alla
Cache-Control
ELLERExpires
HTTP-huvuden som skickas av ursprungsservern som anges av slutpunkten.Välj Spara.
Så här anger du cachekontrollrubrikerna för en blobfil med hjälp av anpassade cachelagringsregler:
Under Anpassade cachelagringsregler skapar du två matchningsvillkor:
A. För det första matchningsvillkoret anger du Matcha villkor till Sökväg och anger
/blobcontainer1/*
för Match-värde. Ange Cachelagringsbeteende till Åsidosätt och ange 4 i rutan Timmar .B. För det andra matchningsvillkoret anger du Matcha villkor till Sökväg och anger
/blobcontainer1/blob1.txt
för Match-värde. Ange Cachelagringsbeteende till Åsidosätt och ange 2 i rutan Timmar .Den första anpassade cachelagringsregeln anger en cachevaraktighet på fyra timmar för alla blobfiler i
/blobcontainer1
mappen på ursprungsservern som anges av slutpunkten. Den andra regeln åsidosätter endast den första regeln förblob1.txt
blobfilen och anger en cachevaraktighet på två timmar för den.Välj Spara.
Ange cachekontrollrubriker med hjälp av Azure PowerShell
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Azure PowerShell är ett av de snabbaste och mest kraftfulla sätten att administrera dina Azure-tjänster. Använd cmdleten Get-AzStorageBlob
för att hämta en referens till bloben och ange .ICloudBlob.Properties.CacheControl
sedan egenskapen.
Till exempel:
# 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()
Dricks
Du kan också använda PowerShell för att hantera nätverksprofiler och slutpunkter för innehållsleverans.
Ange cachekontrollrubriker med hjälp av .NET
Om du vill ange en blobrubrik Cache-Control
med hjälp av .NET-kod använder du Azure Storage-klientbiblioteket för .NET för att ange egenskapen BlobHttpHeaders.CacheControl .
Till exempel:
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" });
}
}
Dricks
Det finns fler .NET-kodexempel i Azure Blob Storage-exempel för .NET.
Ange cachekontrollrubriker med hjälp av andra metoder
Azure Storage Explorer
Med Azure Storage Explorer kan du visa och redigera dina bloblagringsresurser, inklusive egenskaper som egenskapen CacheControl .
Så här uppdaterar du cachecontrol-egenskapen för en blob med Azure Storage Explorer:
- Välj en blob och välj sedan Egenskaper på snabbmenyn.
- Rulla ned till egenskapen CacheControl .
- Ange ett värde och välj sedan Spara.
Azure CLI
Du kan hantera Azure Blob-resurser från kommandoraden via Azure CLI. Om du vill ange cachekontrollrubriken när du laddar upp en blob med Azure CLI anger du egenskapen cacheControl med hjälp av växeln -p
. I följande exempel visas hur du anger TTL till en timme (3 600 sekunder):
azure storage blob upload -c <connectionstring> -p cacheControl="max-age=3600" .\<blob name> <container name> <blob name>
REST API för Azure Storage-tjänster
Du kan använda REST-API:et för Azure Storage-tjänster för att uttryckligen ange egenskapen x-ms-blob-cache-control med hjälp av följande åtgärder på en begäran:
Testa Cache-Control-huvudet
Du kan enkelt verifiera TTL-inställningarna för dina blobar. Med webbläsarens utvecklarverktyg testar du att din blob innehåller Cache-Control
svarshuvudet. Du kan också använda ett verktyg som Wget eller Fiddler för att undersöka svarsrubrikerna.