Перейти к основному содержимому

Примеры конфигураций правил жизненного цикла

Ниже приведены примеры конфигураций в формате JSON, которые можно использовать в объектном хранилище S3.

Удаление объектов по истечении срока хранения​

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

  • без версионирования: объект удаляется сразу по истечении срока;
  • с версионированием: удаляется только текущая версия объекта, создается маркер удаления, который становится текущей версией. Предыдущие версии остаются доступными;
  • приостановленное версионирование: создается маркер удаления с идентификатором null, текущая версия удаляется без возможности восстановления, а предыдущие версии сохраняются.

Важно: Удаление происходит асинхронно, то есть объекты исчезают через некоторое время после истечения срока.

Удаление всех объектов через 14 дней​

Это правило удаляет все объекты в бакете через 14 дней после загрузки.

{
"Rules": [
{
"ID": "DeleteAllObjects",
"Status": "Enabled",
"Filter": {
"Prefix": ""
},
"Expiration": {
"Days": 14
}
}
]
}

Удаление объектов с префиксом temp/​

Правило удаляет объекты с префиксом temp/ через 7 дней после создания.

{
"Rules": [
{
"ID": "DeleteTemp",
"Status": "Enabled",
"Filter": {
"Prefix": "temp/"
},
"Expiration": {
"Days": 7
}
}
]
}

Удаление объектов с заданными тегами​

Правило удаляет объекты с тегами type=logs и category=temp через 7 дней.

{
"Rules": [
{
"ID": "DeleteTaggedObjects",
"Status": "Enabled",
"Filter": {
"And": {
"Prefix": "",
"Tags": [
{
"Key": "type",
"Value": "logs"
},
{
"Key": "category",
"Value": "temp"
}
]
}
},
"Expiration": {
"Days": 7
}
}
]
}

Удаление неактуальных версий объектов​

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

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

Удаление неактуальных версий через 30 дней​

Это правило удаляет все неактуальные версии объектов в бакете через 60 дней после того, как они перестали быть текущими.

{
"Rules": [
{
"ID": "CleanNoncurrentVersions",
"Status": "Enabled",
"Filter": {
"Prefix": ""
},
"NoncurrentVersionExpiration": {
"NoncurrentDays": 60
}
}
]
}

Ограничение количества неактуальных версий​

Это правило сохраняет только 2 последние неактуальные версии объектов с префиксом documents/ , удаляя более старые. Также задает срок хранения неактуальных версий в 45 дней.

{
"Rules": [
{
"ID": "LimitNoncurrentVersions",
"Status": "Enabled",
"Filter": {
"Prefix": "documents/"
},
"NoncurrentVersionExpiration": {
"NoncurrentDays": 45,
"NewerNoncurrentVersions": 2
}
}
]
}