Freigeben über


Verwalten des Ablaufs von Azure Blob Storage im Azure Content Delivery Network

Der Blob-Speicherdienst in Azure Storage ist einer von mehreren Azure-basierten Ursprüngen, die in das Azure Content Delivery Network integriert sind. Jeder öffentlich zugängliche Blobinhalt kann im Azure Content Delivery Network zwischengespeichert werden, bis seine Time to Live (TTL) abläuft. Die Gültigkeitsdauer wird durch den Cache-Control-Header in der HTTP-Antwort aus dem Ursprungsserver bestimmt. In diesem Artikel werden verschiedene Methoden beschrieben, mit denen Sie den Cache-Control-Header für ein Blob in Azure Storage festlegen können.

Sie können auch Cacheeinstellungen aus dem Azure-Portal steuern, indem Sie Regeln für die Zwischenspeicherung des Inhaltsübermittlungs-Netzwerks festlegen. Wenn Sie eine Cacheregel erstellen und das Zwischenspeicherverhalten auf Außerkraftsetzung oder Cache umgehen festlegen, werden die in diesem Artikel erörterten vom Ursprung angegebenen Cacheeinstellungen ignoriert. Weitere Informationen zu allgemeinen Cachekonzepten finden Sie unter How caching works (Funktionsweise von Caching).

Tipp

Sie haben auch die Möglichkeit, keine Gültigkeitsdauer für ein Blob festzulegen. In diesem Fall wendet das Azure Content Delivery Network automatisch eine Standard-TTL von sieben Tagen an, es sei denn, Sie haben im Azure-Portal Caching-Regeln eingerichtet. Diese Standardgültigkeitsdauer gilt nur für die Optimierung allgemeiner Webbereitstellungen. Bei der Optimierung großer Dateien beträgt die Standardgültigkeitsdauer einen Tag, bei der Optimierung für das Medienstreaming beträgt die Standardgültigkeitsdauer ein Jahr.

Weitere Informationen darüber, wie das Azure Content Delivery Network den Zugriff auf Blobs und andere Dateien beschleunigt, finden Sie unter Übersicht über das Azure Content Delivery Network.

Weitere Informationen zu Azure Blob Storage finden Sie unter Einführung in Blob Storage.

Festlegen von Cachesteuerungsheadern mithilfe von Regeln für die Zwischenspeicherung von Inhaltsübermittlungs-Netzwerken

Die bevorzugte Methode zum Einrichten des Cache-Control-Headers für einen Blob ist die Verwendung von Cacheregeln im Azure-Portal. Weitere Informationen zu Regeln für die Zwischenspeicherung des Inhaltsübermittlungs-Netzwerks finden Sie unter Steuern des Zwischenspeicherungsverhaltens des Azure Content Delivery Network mit Zwischenspeicherungsregeln.

Hinweis

Zwischenspeicherungsregeln sind nur für Azure CDN Standard aus Edgio-Profilen verfügbar. Für Azure CDN Premium von Edgio-Profilen müssen Sie die Azure Content Delivery Network-Regel-Engine im Portal Manage verwenden, um eine ähnliche Funktionalität zu erhalten.

So navigieren Sie zur Seite mit den CDN-Cacheregeln

  1. Wählen Sie im Azure-Portal ein Netzwerkprofil für die Inhaltsübermittlung aus, und wählen Sie dann den Endpunkt für das Blob aus.

  2. Wählen Sie im linken Bereich unter „Einstellungen“ die Option Cacheregeln aus.

    Screenshot der Schaltfläche „Regeln für die Zwischenspeicherung des Inhaltsübermittlungs-Netzwerks“.

    Die Seite Cacheregeln wird geöffnet.

    Screenshot der Seite zum Zwischenspeichern des Inhaltsübermittlungs-Netzwerks.

So legen Sie mit globalen Cacheregeln Cache-Control-Header für einen Blob Storage-Dienst fest

  1. Legen Sie unter Globale Cacheregeln die Option Verhalten für das Zwischenspeichern von Abfragezeichenfolgen auf Abfragezeichenfolgen ignorieren fest. Legen Sie dann das Verhalten beim Zwischenspeichern auf Außerkraftsetzung fest.

  2. Geben Sie für Dauer bis Cacheablauf einen Wert von 3600 im Feld Sekunden ein, oder geben Sie im Feld Stunden den Wert 1 an.

    Screenshot des Beispiels für die globale Zwischenspeicherung des Inhaltsübermittlungs-Netzwerks.

    Mit diesen globalen Cacheregeln wird eine Cachedauer von 1 Stunde festgelegt, die sich auf alle Anforderungen an den Endpunkt auswirkt. Sie überschreibt alle Cache-Control- oder Expires-HTTP-Header, die durch den vom Endpunkt festgelegten Ursprungsserver gesendet werden.

  3. Wählen Sie Speichern aus.

So legen Sie mit benutzerdefinierten Cacheregeln Cache-Control-Header für eine Blobdatei fest

  1. Erstellen Sie unter Benutzerdefinierte Cacheregeln zwei Übereinstimmungsbedingungen:

    A. Legen Sie die erste Übereinstimmungsbedingung auf Pfad fest, und geben Sie für den Übereinstimmungswert/blobcontainer1/* ein. Legen Sie das Verhalten beim Zwischenspeichern auf Außerkraftsetzung fest, und geben Sie im Feld Stunden den Wert 4 ein.

    B. Legen Sie die erste Übereinstimmungsbedingung auf Pfad fest, und geben Sie für den Übereinstimmungswert/blobcontainer1/blob1.txt ein. Legen Sie das Verhalten beim Zwischenspeichern auf Außerkraftsetzung fest, und geben Sie im Feld Stunden den Wert 2 ein.

    Screenshot des Beispiels für benutzerdefinierte Zwischenspeicherungsregeln für das Inhaltsübermittlungs-Netzwerk.

    Die erste benutzerdefinierte Cacheregel legt eine Cachedauer von vier Stunden für alle Blobdateien im Ordner /blobcontainer1 auf dem Ursprungsserver fest, der durch Ihren Endpunkt angegeben wird. Die zweite Regel setzt für die Blobdatei blob1.txt die erste Regel außer Kraft und legt eine Cachedauer von zwei Stunden fest.

  2. Wählen Sie Speichern aus.

Festlegen von Cache-Control-Headern unter Verwendung von Azure PowerShell

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Azure PowerShell ist eine der schnellsten und leistungsstärksten Möglichkeiten zum Verwalten Ihrer Azure-Dienste. Verwenden Sie das Get-AzStorageBlob-Cmdlet zum Abrufen eines Verweises auf das Blob, und legen Sie dann die Eigenschaft .ICloudBlob.Properties.CacheControl fest.

Beispiel:

# 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()

Festlegen von Cache-Control-Headern unter Verwendung von .NET

Um den Cache-Control-Header für ein Blob unter Verwendung von .NET-Code anzugeben, verwenden Sie die Azure Storage-Clientbibliothek für .NET zum Festlegen der Eigenschaft BlobHttpHeaders.CacheControl.

Beispiel:

    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" });
        }
    }

Tipp

Weitere .NET-Codebespiele finden Sie unter Azure Blob Storage Samples for .NET(Azure Blob Storage-Beispiele für .NET).

Festlegen von Cache-Control-Headern mithilfe anderer Methoden

Azure Storage-Explorer

Mit dem Azure Storage-Explorer können Sie Ihre Blob Storage-Ressourcen anzeigen und bearbeiten, darunter beispielsweise Eigenschaften wie CacheControl.

So aktualisieren Sie die CacheControl-Eigenschaft eines Blobs mit dem Azure Storage-Explorer:

  1. Wählen Sie ein Blob aus, und klicken Sie dann im Kontextmenü auf Eigenschaften.
  2. Scrollen Sie nach unten zur CacheControl-Eigenschaft.
  3. Geben Sie einen Wert ein, und wählen Sie Speichern aus.

Eigenschaften des Azure Storage-Explorers

Die Azure-CLI

Sie können Azure-Blobressourcen über die Befehlszeile mithilfe der Azure CLI verwalten. Legen Sie zum Festlegen des Cache-Control-Headers beim Hochladen eines Blobs mit der Azure-Befehlszeilenschnittstelle die Eigenschaft cacheControl mit dem -p-Switch fest. Im folgenden Beispiel wird gezeigt, wie die Gültigkeitsdauer auf eine Stunde (3.600 Sekunden) festgelegt wird:

azure storage blob upload -c <connectionstring> -p cacheControl="max-age=3600" .\<blob name> <container name> <blob name>

REST-API für Azure Storage-Dienste

Sie können die REST-API für Azure-Speicherdienste verwenden, um die Eigenschaft x-ms-blob-cache-control mithilfe der folgenden Vorgänge für eine Anforderung explizit festzulegen:

Testen des Cache-Control-Headers

Sie können die Einstellungen der Gültigkeitsdauer Ihrer Blobs einfach überprüfen. Mithilfe der Entwicklertools Ihres Browsers können Sie überprüfen, ob Ihr Blob den Cache-Control-Antwortheader enthält. Sie können die Antwortheader außerdem über ein Tool wie wget, Postman oder Fiddler untersuchen.

Nächste Schritte