Бөлісу құралы:


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

Внимание

Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений работы службы, важно перенести профили Azure CDN уровня "Стандартный" от Майкрософт (классический) на уровень Azure Front Door standard или Premium к 30 сентября 2027 года. Дополнительные сведения см. в статье Azure CDN Standard от майкрософт (классическая версия).

Служба хранилища 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