Udostępnij za pośrednictwem


Zarządzanie wygaśnięciem usługi Azure Blob Storage w usłudze Azure Content Delivery Network

Usługa Blob Storage w usłudze Azure Storage jest jednym z kilku źródeł opartych na platformie Azure zintegrowanych z usługą Azure Content Delivery Network. Każda publicznie dostępna zawartość obiektu blob może być buforowana w usłudze Azure Content Delivery Network do czasu wygaśnięcia (TTL). Czas wygaśnięcia jest określany przez Cache-Control nagłówek w odpowiedzi HTTP z serwera pochodzenia. W tym artykule opisano kilka sposobów ustawiania nagłówka Cache-Control obiektu blob w usłudze Azure Storage.

Ustawienia pamięci podręcznej można również kontrolować w witrynie Azure Portal, ustawiając reguły buforowania sieci dostarczania zawartości. Jeśli utworzysz regułę buforowania i ustawisz jej zachowanie buforowania na Wartość Zastąp lub Pomiń pamięć podręczną, ustawienia buforowania dostarczone przez źródło omówione w tym artykule zostaną zignorowane. Aby uzyskać informacje na temat ogólnych pojęć związanych z buforowaniem, zobacz Jak działa buforowanie.

Napiwek

Możesz ustawić brak czasu wygaśnięcia dla obiektu blob. W takim przypadku usługa Azure Content Delivery Network automatycznie stosuje domyślny czas wygaśnięcia z siedmiu dni, chyba że skonfigurowaliśmy reguły buforowania w witrynie Azure Portal. Ten domyślny czas wygaśnięcia dotyczy tylko ogólnych optymalizacji dostarczania w Internecie. W przypadku dużych optymalizacji plików domyślny czas wygaśnięcia to jeden dzień, a w przypadku optymalizacji przesyłania strumieniowego multimediów domyślny czas wygaśnięcia to jeden rok.

Aby uzyskać więcej informacji na temat działania usługi Azure Content Delivery Network w celu przyspieszenia dostępu do obiektów blob i innych plików, zobacz Omówienie usługi Azure Content Delivery Network.

Aby uzyskać więcej informacji na temat usługi Azure Blob Storage, zobacz Wprowadzenie do usługi Blob Storage.

Ustawianie nagłówków kontroli pamięci podręcznej przy użyciu reguł buforowania sieci dostarczania zawartości

Preferowaną metodą ustawiania nagłówka Cache-Control obiektu blob jest użycie reguł buforowania w witrynie Azure Portal. Aby uzyskać więcej informacji na temat reguł buforowania sieci dostarczania zawartości, zobacz Kontrolowanie zachowania buforowania usługi Azure Content Delivery Network przy użyciu reguł buforowania.

Uwaga

Reguły Buforowanie są dostępne tylko dla Usługa Azure CDN w warstwie Standardowa z profilów Edgio. W przypadku profilów usługi Azure CDN Premium from Edgio należy użyć aparatu reguł usługi Azure Content Delivery Network w portalu Zarządzanie , aby uzyskać podobne funkcje.

Aby przejść do strony reguł buforowania usługi CDN:

  1. W witrynie Azure Portal wybierz profil sieci dostarczania zawartości, a następnie wybierz punkt końcowy dla obiektu blob.

  2. W lewym okienku w obszarze Ustawienia zaznacz pole Reguły buforowania.

    Zrzut ekranu przedstawiający przycisk reguł buforowania sieci dostarczania zawartości.

    Zostanie wyświetlona strona Reguły buforowania.

    Zrzut ekranu przedstawiający stronę buforowania sieci dostarczania zawartości.

Aby ustawić nagłówki cache-control usługi Blob Storage przy użyciu globalnych reguł buforowania:

  1. W obszarze Globalne reguły buforowania ustaw zachowanie buforowania ciągów zapytania na Ignoruj ciągi zapytania i ustaw Buforowanie zachowanie na Przesłoń.

  2. W polu Czas wygaśnięcia pamięci podręcznej wprowadź wartość 3600 w polu Sekundy lub 1 w polu Godziny .

    Zrzut ekranu przedstawiający przykład globalnych reguł buforowania sieci dostarczania zawartości.

    Ta globalna reguła buforowania ustawia czas trwania pamięci podręcznej o długości jednej godziny i wpływa na wszystkie żądania do punktu końcowego. Zastępuje wszystkie Cache-Control nagłówki HTTP Expires wysyłane przez serwer pochodzenia określony przez punkt końcowy.

  3. Wybierz pozycję Zapisz.

Aby ustawić nagłówki funkcji Cache-Control pliku obiektów blob przy użyciu niestandardowych reguł buforowania:

  1. W obszarze Niestandardowe reguły buforowania utwórz dwa warunki dopasowania:

    Odp. Dla pierwszego warunku dopasowania ustaw wartość Warunek dopasowania na Ścieżkę i wprowadź wartość /blobcontainer1/* Match (Dopasowanie). Ustaw Buforowanie zachowanie na Przesłoń i wprowadź wartość 4 w polu Godziny.

    B. Dla drugiego warunku dopasowania ustaw wartość Warunek dopasowania na Ścieżkę i wprowadź wartość /blobcontainer1/blob1.txt Match (Dopasowanie). Ustaw Buforowanie zachowanie na Przesłoń i wprowadź wartość 2 w polu Godziny.

    Zrzut ekranu przedstawiający przykład niestandardowych reguł buforowania w sieci dostarczania zawartości.

    Pierwsza niestandardowa reguła buforowania określa czas trwania pamięci podręcznej przez cztery godziny dla wszystkich plików obiektów blob w /blobcontainer1 folderze na serwerze pochodzenia określonym przez punkt końcowy. Druga reguła zastępuje pierwszą regułę tylko dla blob1.txt pliku obiektów blob i ustawia czas trwania pamięci podręcznej na dwie godziny.

  2. Wybierz pozycję Zapisz.

Ustawianie nagłówków cache-control przy użyciu programu Azure PowerShell

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Program Azure PowerShell to jeden z najszybszych i najbardziej zaawansowanych sposobów administrowania usługami platformy Azure. Get-AzStorageBlob Użyj polecenia cmdlet , aby uzyskać odwołanie do obiektu blob, a następnie ustaw .ICloudBlob.Properties.CacheControl właściwość .

Na przykład:

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

Napiwek

Program PowerShell umożliwia również zarządzanie profilami i punktami końcowymi sieci dostarczania zawartości.

Ustawianie nagłówków cache-control przy użyciu platformy .NET

Aby określić nagłówek obiektu blob Cache-Control przy użyciu kodu platformy .NET, użyj biblioteki klienta usługi Azure Storage dla platformy .NET , aby ustawić właściwość BlobHttpHeaders.CacheControl .

Na przykład:

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

Napiwek

Istnieje więcej przykładów kodu platformy .NET dostępnych w przykładach usługi Azure Blob Storage dla platformy .NET.

Ustawianie nagłówków cache-control przy użyciu innych metod

Eksplorator magazynu Azure

Za pomocą Eksplorator usługi Azure Storage można wyświetlać i edytować zasoby magazynu obiektów blob, w tym właściwości, takie jak właściwość CacheControl.

Aby zaktualizować właściwość CacheControl obiektu blob przy użyciu Eksplorator usługi Azure Storage:

  1. Wybierz obiekt blob, a następnie z menu kontekstowego wybierz pozycję Właściwości .
  2. Przewiń w dół do właściwości CacheControl .
  3. Wprowadź wartość, a następnie wybierz pozycję Zapisz.

Eksplorator usługi Azure Storage właściwości

Interfejs wiersza polecenia platformy Azure

Zasoby obiektów blob platformy Azure można zarządzać z poziomu wiersza polecenia za pośrednictwem interfejsu wiersza polecenia platformy Azure. Aby ustawić nagłówek cache-control podczas przekazywania obiektu blob za pomocą interfejsu wiersza polecenia platformy Azure, ustaw właściwość cacheControl przy użyciu przełącznika -p . W poniższym przykładzie pokazano, jak ustawić czas wygaśnięcia na jedną godzinę (3600 sekund):

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

Interfejs API REST usług Azure Storage

Interfejs API REST usług Azure Storage umożliwia jawne ustawienie właściwości x-ms-blob-cache-control przy użyciu następujących operacji na żądaniu:

Testowanie nagłówka Cache-Control

Możesz łatwo zweryfikować ustawienia czasu wygaśnięcia obiektów blob. Korzystając z narzędzi deweloperskich przeglądarki, przetestuj Cache-Control , czy obiekt blob zawiera nagłówek odpowiedzi. Możesz również użyć narzędzia, takiego jak Wget, Postman lub Fiddler , aby zbadać nagłówki odpowiedzi.

Następne kroki