Однократная запись на уровне версии считывает много политик (WORM) для неизменяемых данных BLOB-объектов.

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

Availability

Политики неизменяемости уровня версии (VLW) поддерживаются на уровне учетной записи для новых учетных записей, а также на уровне контейнера и большого двоичного объекта для новых и существующих учетных записей и контейнеров. Эти политики поддерживаются как для учетных записей BLOB-объектов общего назначения версии 2, так и для блочных BLOB-объектов уровня "Премиум". Эта функция не поддерживается в учетных записях иерархического пространства имен.

Зависимость версий

Политики уровня версии требуют включения управления версиями больших двоичных объектов для учетной записи хранения. О включении управления версиями BLOB-объектов см. в разделе Включение и контроль управления версиями BLOB-объектов. Помните, что включение управления версиями может повлиять на начисление платы. Дополнительные сведения см. в разделе "Цены и выставление счетов" для управления версиями BLOB-объектов.

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

Если для учетной записи хранения или контейнера действует политика по умолчанию, когда в результате операции перезаписи создается предыдущая версия, новая текущая версия наследует политику по умолчанию для учетной записи или контейнера.

Для каждой версии может быть настроена только одна политика хранения на основе времени. Для каждой версии можно также настроить не более одного юридического удержания.

Сведения о настройке политик хранения на основе времени на уровне версии см. в статье Настройка политик неизменяемости для версий BLOB-объектов.

Включение и параметр политики

Использование неизменяемых политик с WORM уровня версии — это двухэтапный процесс. Сначала включите неизменяемость уровня версии. Затем можно задать политики неизменяемости на уровне версии.

Чтобы задать политику на уровне учетной записи хранения, необходимо сначала включить WORM уровня версии в учетной записи хранения. Это можно сделать только во время создания учетной записи. Нет возможности включить WORM уровня версии для существующих учетных записей.

Схема настройки политики для неизменяемого хранилища уровня версии на уровне учетной записи.

Чтобы задать политику на уровне контейнера, необходимо сначала включить WORM уровня версии в учетной записи ИЛИ в контейнере.

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

Схема настройки политики для неизменяемого хранилища уровня версии на уровне контейнера.

Чтобы задать политику на уровне БОЛЬШОго двоичного объекта, необходимо включить WORM уровня версии в учетной записи или контейнере. Нет возможности включить WORM уровня версии на уровне БОЛЬШОго двоичного объекта; он должен быть унаследован.

Схема настройки политики для неизменяемого хранилища уровня версии на уровне большого двоичного объекта.

Миграция

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

Настройка политики для текущей версии

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

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

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

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

Если политика по умолчанию для учетной записи хранения или контейнера меняется, политики для объектов в этом контейнере остаются без изменений, даже если эти политики унаследованы от политики по умолчанию.

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

Состояние политики по умолчанию для учетной записи или контейнера Отправка BLOB-объекта с политикой по умолчанию Отправка BLOB-объекта с пользовательской политикой Отправка BLOB-объекта без политики
Политика по умолчанию для учетной записи или контейнера (разблокированная) BLOB-объект отправлен с незаблокированной политикой по умолчанию BLOB-объект отправлен с пользовательской незаблокированной политикой BLOB-объект отправлен без политики
Политика по умолчанию для учетной записи или контейнера (заблокированная) BLOB-объект отправлен с заблокированной политикой по умолчанию BLOB-объект отправлен с пользовательской незаблокированной политикой BLOB-объект отправлен без политики
Нет политики по умолчанию для учетной записи или контейнера Н/П BLOB-объект отправлен с пользовательской незаблокированной политикой BLOB-объект отправлен без политики

Настройка политики для предыдущей версии

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

Если разблокирована политика, унаследованная предыдущей версией, то интервал хранения можно сократить или увеличить, а политику можно удалить. Политика, относящаяся к предыдущей версии, также может быть заблокирована для этой версии, даже если политика для текущей версии разблокирована.

Если заблокирована политика, унаследованная предыдущей версией, интервал хранения можно продлить. Политику нельзя удалить. Кроме того, невозможно сократить интервал хранения. Если для текущей версии нет настроенной политики, то предыдущая версия не наследует никакой политики.

Можно настроить пользовательскую политику для этой версии. Если политика для текущей версии изменена, политики для существующих предыдущих версий останутся без изменений, даже если политика была унаследована от текущей версии.

Удаление

После включения учетной записи или контейнера для неизменяемой политики ее нельзя удалить, пока она не будет пуста. Важно отметить, что не имеет значения, если неизменяемая политика была установлена на учетной записи или контейнере WORM уровня версии, важно, если она включена для политики. После этого учетная запись или контейнер должны быть пустыми для удаления.

Схема, показывющая порядок операций при удалении учетной записи с политикой неизменяемости на уровне версии.

Сценарии

Сценарий Запрещенные операции Защита BLOB-объектов Защита контейнеров Защита учетных записей
Версия BLOB-объекта защищена активной политикой хранения, и/или действует удержание по юридическим причинам Удаление BLOB-объектов, настройка метаданных BLOB-объектов и страница "Поместить" Не удается удалить версию большого двоичного объекта. Не удается записать метаданные пользователя.
Перезапись большого двоичного объекта с помощью Put BLOB-объектов, Put Block List или Copy Blob создает новую версию1.
Удаление контейнера завершается сбоем, если в контейнере существует хотя бы один BLOB-объект, независимо от того, заблокирована или разблокирована политика. служба хранилища удаление учетной записи завершается ошибкой, если есть хотя бы один контейнер с неизменяемым хранилищем уровня версии или включен для учетной записи.
Версия BLOB-объекта защищена политикой хранения с истекшим сроком действия, и не действует удержание по юридическим причинам Настройка метаданных BLOB-объектов и страница put Версия BLOB-объекта защищена политикой хранения с истекшим сроком действия, и не действует удержание по юридическим причинам Версию BLOB-объекта можно удалить.
Перезапись большого двоичного объекта с помощью Put BLOB-объектов, Put Block List или Copy Blob создает новую версию1.
Удаление учетной записи службы хранилища завершается сбоем, если существует по крайней мере один контейнер, содержащий версию BLOB-объекта с заблокированной политикой хранения на основе времени.
Разблокированные политики не обеспечивают защиту от удаления.

1 Версии BLOB-объектов всегда неизменяемы для содержимого. Если для учетной записи хранения включена поддержка управления версиями, при выполнении операции записи с блочным BLOB-объектом создается его новая версия (кроме операции вставки блока).

Ограничения

В одной учетной записи может быть только 10 000 контейнеров с уникальными политиками хранения на основе времени; однако можно задать политику уровня учетной записи, наследуемую более чем 10 000 контейнеров.

Следующие шаги