Управление сроком действия хранилища BLOB-объектов Azure в сети доставки содержимого Azure

Служба хранилища BLOB-объектов в служба хранилища Azure является одним из нескольких источников, интегрированных с Azure сеть доставки содержимого. Любое общедоступное содержимое BLOB-объектов можно кэшировать в Azure сеть доставки содержимого до тех пор, пока не истекло время жизни (TTL). TTL определяется заголовком Cache-Control в ответе HTTP от исходного сервера. В этой статье описано несколько способов определения заголовка Cache-Control для большого двоичного объекта в службе хранилища Azure.

Вы также можете управлять параметрами кэша из портал Azure, задав правила кэширования сети доставки содержимого. Если создать правило кэширования и настроить его для переопределения или отключения кэша, предоставляемые системой параметры, которые описаны в этой статье, будут игнорироваться. См. дополнительные сведения о функции кэширования.

Совет

Срок жизни для BLOB-объекта можно не указывать. В этом случае Azure сеть доставки содержимого автоматически применяет срок жизни по умолчанию в семь дней, если только вы не настроили правила кэширования в портал Azure. Этот срок жизни по умолчанию применяется только к оптимизациям общей веб-доставки. Для оптимизаций больших файлов срок жизни по умолчанию составляет один день, а для оптимизаций потоковой передачи срок жизни по умолчанию составляет один год.

Дополнительные сведения о том, как работает Azure сеть доставки содержимого для ускорения доступа к большим двоичным объектам и другим файлам, см. в статье "Обзор сеть доставки содержимого Azure".

Дополнительные сведения о хранилище BLOB-объектов Azure см. в статье Общие сведения о хранилище BLOB-объектов.

Настройка заголовков кэша управления с помощью правил кэширования сети доставки содержимого

Для установки заголовка Cache-Control BLOB-объекта рекомендуем использовать правила кэширования на портале Azure. Дополнительные сведения о правилах кэширования сети доставки содержимого см. в разделе "Управление поведением кэширования Azure сеть доставки содержимого с помощью правил кэширования".

Примечание.

Правила кэширования доступны только для azure CDN уровня "Стандартный" из профилей Edgio . Для Azure CDN Premium из профилей Edgio необходимо использовать подсистему правил azure сеть доставки содержимого на портале "Управление" для аналогичных функций.

Чтобы перейти на страницу правил CDN для кэширования:

  1. В портал Azure выберите профиль сети доставки содержимого, а затем выберите конечную точку для большого двоичного объекта.

  2. В области слева в разделе "Параметры" выберите Правила кэширования.

    Снимок экрана: кнопка

    Появится страница Правила кэширования.

    Снимок экрана: страница кэширования сети доставки содержимого.

Чтобы установить заголовки Cache-Control для службы хранения BLOB-объектов, используя глобальные правила кэширования, сделайте следующее:

  1. В разделе Глобальные правила кэширования задайте для параметра Режим кэширования строк запросов значение Пропускать строки запросов, а для параметра Поведение кэширования — значение Переопределить.

  2. Для параметра Срок действия кэша введите 3600 в поле Секунды или 1 в поле Часы.

    Снимок экрана: пример правил глобального кэширования сети доставки содержимого.

    Это глобальное правило кэширования задает значение длительности кэширования в один час и влияет на все запросы к конечной точке. Он переопределяет любые Cache-Control или Expires HTTP-заголовки, отправляемые сервером-источником, указанным конечной точкой.

  3. Выберите Сохранить.

Чтобы установить заголовки Cache-Control для файла большого двоичного объекта, используя настраиваемые правила кэширования, сделайте следующее:

  1. В разделе Настраиваемые правила кэширования создайте два условия соответствия.

    А. В первом условии соответствия задайте для параметра Условие соответствия значение Путь и введите значение /blobcontainer1/* для параметра Значения соответствия. Задайте для параметра Поведение кэширования значение Переопределить и введите 4 в поле Часы.

    B. Во втором условии соответствия задайте параметру Условие соответствия значение Путь и введите значение /blobcontainer1/blob1.txt для параметра Значения соответствия. Задайте для параметра Поведение кэширования значение Переопределить и введите 2 в поле Часы.

    Снимок экрана: пример правил кэширования настраиваемой сети доставки содержимого.

    Первое настраиваемое правило кэширования задает длительность кэширования четыре часа для всех файлов больших двоичных объектов в папке /blobcontainer1 на сервере-источнике, указанном конечной точкой. Второе правило переопределяет первое правило только для файла большого двоичного объекта blob1.txt и задает для него длительность кэширования два часа.

  2. Выберите Сохранить.

Определение заголовков Cache-Control с помощью Azure PowerShell

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Azure PowerShell — это одно из самых быстрых и мощных средств администрирования служб Azure. Используйте командлет Get-AzStorageBlob, чтобы получить ссылку на большой двоичный объект, а затем определите свойство .ICloudBlob.Properties.CacheControl.

Например:

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

Совет

Вы также можете использовать PowerShell для управления профилями сети доставки содержимого и конечными точками.

Определение заголовков Cache-Control с помощью .NET

Чтобы определить заголовок Cache-Control для большого двоичного объекта с помощью кода .NET, задайте свойство BlobHttpHeaders.CacheControl при помощи клиентской библиотеки службы хранилища Azure для .NET.

Например:

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

Совет

Другие примеры кода .NET для хранилища BLOB-объектов Azure см. на этой странице.

Определение заголовков Cache-Control с помощью других методов

Обозреватель службы хранилища Azure

С помощью обозревателя службы хранилища Azure можно просматривать и изменять ресурсы хранилища BLOB-объектов, включая такие свойства, как CacheControl.

Чтобы обновить свойство CacheControl большого двоичного объекта с помощью обозревателя хранилищ Azure, сделайте следующее.

  1. Выберите большой двоичный объект, а затем выберите Свойства в контекстном меню.
  2. Прокрутите меню вниз до свойства CacheControl.
  3. Введите значение и выберите Сохранить.

Свойства в обозревателе службы хранилища Azure

Azure CLI

Вы можете управлять ресурсами BLOB-объектов Azure из командной строки с помощью Azure CLI. Чтобы определить заголовок Cache-Control при передаче большого двоичного объекта с помощью Azure CLI, определите свойство cacheControl с помощью параметра -p. В следующем примере показано, как задать срок жизни, равный 1 часу (3600 секунд).

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

API-интерфейс REST служб хранилища Azure

REST API служб служба хранилища Azure можно использовать для явного задания свойства x-ms-blob-cache-control с помощью следующих операций по запросу:

Проверка заголовка Cache-Control

Вы легко можете проверить установленный для BLOB-объектов срок жизни. С помощью средств разработчика браузера проверьте, включает Cache-Control ли большой двоичный объект заголовок ответа. Для просмотра заголовков ответа можно использовать и другие инструменты, например wget, Postman или Fiddler.

Next Steps