#minio
Вопрос:
Я хочу удалить объект после истечения срока хранения. Могу ли я сделать это с помощью жизненного цикла ведра? Если да, то как?
И второй вопрос: можно ли автоматически удалить объект, если доступен более новый?
Комментарии:
1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Это будет работать только с версионным ведром
Включите настройку жизненного цикла объектов в сегментах, чтобы настроить автоматическое удаление объектов после a specified number of days
или a specified date
.
Пример: Создайте конфигурацию жизненного цикла корзины, срок действия которой истекает для объектов с префиксом old/
на 2020-01-01T00:00:00.000Z
дату, а для объектов temp/
с префиксом-через 7 дней.
Включите конфигурацию жизненного цикла ковша с помощью mc
:
{
"Rules": [{
"Expiration": {
"Date": "2020-01-01T00:00:00.000Z"
},
"ID": "OldPictures",
"Filter": {
"Prefix": "old/"
},
"Status": "Enabled"
},
{
"Expiration": {
"Days": 7
},
"ID": "TempUploads",
"Filter": {
"Prefix": "temp/"
},
"Status": "Enabled"
}
]
}
то же самое можно найти в :https://docs.min.io/docs/minio-bucket-lifecycle-guide.html
Удалить не текущие версии
{
"Rules": [
{
"ID": "Removing all old versions",
"Filter": {
"Prefix": "users-uploads/"
},
"NoncurrentVersionExpiration": {
"NoncurrentDays": 365
},
"Status": "Enabled"
}
]
}
Комментарии:
1. Да, но это конфигурация для всего ведра. И у меня есть много объектов с разными датами.
2. вы можете использовать опцию дней вместо жестко заданной даты.
3. вы можете применять правила жизненного цикла на уровне объекта (putObject)