Поделиться через


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

Это важно

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

Услуга Azure CDN от Edgio была выведена из эксплуатации 15 января 2025 г. Дополнительные сведения см. в статье Часто задаваемые вопросы о прекращении обслуживания Azure CDN от Edgio.

Предупреждение

Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как идентификации с управлением, не являются приемлемыми.

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

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

Подсказка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Замечание

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Чтобы узнать, как перейти на модуль Az 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 для BLOB, используйте клиентскую библиотеку Azure Storage для .NET, чтобы установить свойство BlobHttpHeaders.CacheControl.

Рассмотрим пример.

    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 для .NET на платформе Azure.

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

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

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

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

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

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

Интерфейс командной строки 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

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

Дальнейшие шаги