Настройка политики управления жизненным циклом

Для управления жизненным циклом в Хранилище Azure используется политика на основе правил, позволяющая настроить перенос BLOB-объектов на оптимальный уровень доступа и действия, выполняемые с данными в конце их жизненного цикла. Политика управления жизненным циклом работает с базовым BLOB-объектом и при необходимости с его версиями или моментальными снимками. Дополнительные сведения о политиках управления жизненным циклом см. в статье Оптимизация затрат путем автоматического управления жизненным циклом данных.

Политика управления жизненным циклом состоит из одного или нескольких правил, определяющих набор действий, выполняемых на основе выполняемого условия. Для базового BLOB-объекта можно проверить одно из следующих условий:

  • Число дней с момента создания BLOB-объекта.
  • Число дней с момента последнего изменения BLOB-объекта.
  • Число дней с момента последнего обращения к BLOB-объекту. Чтобы использовать это условие в действии, необходимо сначала включить отслеживание времени последнего доступа.

Если выбранное условие имеет значение true, то политика управления выполняет указанное действие. Например, если вы определили действие для перемещения BLOB-объекта с "горячего" уровня на "холодный", и он не менялся в течение 30 дней, то политика управления жизненным циклом будет перемещать BLOB-объект через 30 дней после последней операции записи в него.

Для моментального снимка или версии BLOB-объекта проверяемое условие — это количество дней с момента создания моментального снимка или версии.

Необязательное включение отслеживания времени доступа

Перед настройкой политики управления жизненным циклом можно включить отслеживание времени доступа к BLOB-объектам. Если отслеживание времени доступа включено, политика управления жизненным циклом может добавлять действие в зависимости от времени последнего доступа к BLOB-объекту с помощью операции чтения или записи. Чтобы минимизировать влияние на задержку доступа к чтению, только первое чтение за последние 24 часа обновляет время последнего доступа. Последующие считывания на протяжении того же 24-часового периода не поддерживают обновление времени последнего доступа. При изменении большого двоичного объекта между операциями чтения, последнее время доступа будет иметь более позднее значение.

Если отслеживание времени последнего доступа не включено, daysAfterLastAccessTimeGreaterThan использует дату включения политики жизненного цикла вместо LastAccessTime свойства большого двоичного объекта. Эта дата также используется, если LastAccessTime свойство имеет значение NULL. Дополнительные сведения об использовании отслеживания времени последнего доступа см. в разделе "Перемещение данных на основе времени последнего доступа".

Чтобы включить отслеживание времени последнего доступа с помощью портала Azure, выполните следующие действия:

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В разделе Управление данными выберите Управление жизненным циклом.

  3. Установите флажок проверка box "Включить отслеживание доступа"

    Screenshot showing how to enable last access tracking in Azure portal.

Используйте свойство daysAfterLastAccessTimeGreaterThan, чтобы указать число дней с момента последнего доступа, после которого действие для BLOB-объекта должно быть выполнено.

Создание политики и управление ею

Политику управления жизненным циклом можно добавить, изменить или удалить с помощью портала Azure, PowerShell, Azure CLI или шаблона Azure Resource Manager.

Существует два способа добавления политики с помощью портала Azure.

Представление списка

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В разделе Управление данными выберите Управление жизненным циклом, чтобы просмотреть или изменить политику управления жизненным циклом.

  3. Перейдите на вкладку Представление списка.

  4. Выберите Добавить правило и назовите свое правило в форме Сведения. Можно также задать значения параметров Область правила, Тип BLOB-объекта, а также Подтип BLOB-объекта. В следующем примере задается область для фильтрации больших двоичных объектов. Это приведет к добавлению вкладки Набор фильтров.

Lifecycle management add a rule details page in Azure portal

  1. Выберите Базовые BLOB-объекты, чтобы задать условия для правила. В следующем примере большие двоичные объекты перемещаются на холодный уровень хранилища, если они не были изменены в течение 30 дней.

Lifecycle management base blobs page in Azure portal

Параметр "Последний доступ" доступен только в том случае, если вы включили отслеживание времени доступа и выбрали блочные BLOB-объекты в качестве типа BLOB-объектов. Сведения о том, как включить отслеживание доступа, см. в разделе Необязательное включение отслеживания времени доступа.

  1. Если вы выбрали Ограничить BLOB-объекты фильтрами на странице Сведения, выберите Набор фильтров, чтобы добавить дополнительный фильтр. В примере ниже выполняется фильтрация BLOB-объектов, имя которых начинается с log, в контейнере с именем sample-container.

Lifecycle management filter set page in Azure portal

  1. Выберите Добавить, чтобы добавить новую политику.

Помните, что политика управления жизненным циклом не будет удалять текущую версию большого двоичного объекта до тех пор, пока не будут удалены предыдущие версии или моментальные снимки, связанные с этим BLOB-объектом. Если большие двоичные объекты в учетной записи хранения имеют предыдущие версии или моментальные снимки, следует выбрать базовые blob-объекты, моментальные снимки и версии в разделе подтипа BLOB-объектов при указании действия удаления в рамках политики.

Представление кода

  1. Войдите в свою учетную запись хранения на портале Azure.
  2. В разделе Управление данными выберите Управление жизненным циклом, чтобы просмотреть или изменить политику управления жизненным циклом.
  3. Перейдите на вкладку Представление кода. Здесь можно определить политику управления жизненным циклом в виде JSON.

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

{
  "rules": [
    {
      "enabled": true,
      "name": "move-to-cool",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToCool": {
              "daysAfterModificationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "sample-container/log"
          ]
        }
      }
    }
  ]
}

См. также