Hantera förfallodatum för Azure Blob Storage i Azure Content Delivery Network

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-portalen genom att ange cachelagringsregler för innehållsleveransnätverk. 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-portalen. 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 blobhuvud Cache-Control är att använda cachelagringsregler i Azure-portalen. Mer information om cachelagringsregler för innehållsleveransnätverk finns i Kontrollera cachelagringsbeteendet för Azure Content Delivery Network med cachelagringsregler.

Kommentar

Cachelagring regler ä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:

  1. I Azure-portalen väljer du en nätverksprofil för innehållsleverans och väljer sedan blobens slutpunkt.

  2. I det vänstra fönstret under inställningar, väljer du Cachelagringsregler.

    Skärmbild av knappen cachelagringsregler för innehållsleveransnätverket.

    Sidan Cachelagringsregler visas.

    Skärmbild av cachelagringssidan för innehållsleveransnätverket.

Så här anger du cachekontrollrubrikerna för en Blob Storage-tjänst med hjälp av globala cachelagringsregler:

  1. Under Globala cachelagringsregler anger du Beteende för cachelagring av frågesträngar till Ignorera frågesträngar och anger Cachelagring beteende till Åsidosättning.

  2. För cachens giltighetstid anger du 3600 i rutan Sekunder eller 1 i rutan Timmar .

    Skärmbild av exemplet med globala cachelagringsregler för innehållsleveransnätverket.

    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 ELLER Expires HTTP-huvuden som skickas av ursprungsservern som anges av slutpunkten.

  3. Välj Spara.

Så här anger du cachekontrollrubrikerna för en blobfil med hjälp av anpassade cachelagringsregler:

  1. 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 Cachelagring beteende 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 Cachelagring beteende till Åsidosätt och ange 2 i rutan Timmar.

    Skärmbild av exemplet med anpassade cachelagringsregler för innehållsleveransnätverket.

    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ör blob1.txt blobfilen och anger en cachevaraktighet på två timmar för den.

  2. 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:

  1. Välj en blob och välj sedan Egenskaper på snabbmenyn.
  2. Rulla ned till egenskapen CacheControl .
  3. Ange ett värde och välj sedan Spara.

Egenskaper för Azure Storage Explorer

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, Postman eller Fiddler för att undersöka svarsrubrikerna.

Nästa steg