[英]How to Set BucketLifeCycleRule in Minio?
創建一個 Minio bucket 后,我設置了 bucket 的生命周期規則。 LifeCycleRule 占用僅為 1 天設置的過期變量。 通過 minio 客戶端 (mc) 檢查我的存儲桶狀態時, mc ilm ls mycloud/bucketName
,我注意到生命周期規則已成功應用於指定的存儲桶。 然而,當 1 天后再次查看 Minio 時,桶仍然在那里。 為了正確刪除 Minio Bucket,我還需要添加其他東西到 LifeCycleRule 嗎?
請注意,我一直在使用Minio SDKs Java Client API作為參考。
fun createBucket(bucketName: String){
client.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build())
setBucketLifeCycle(bucketName)
}
private fun setBucketLifeCycle(bucketName: String){
// Setting the expiration for one day.
val expiration = Expiration(null as ZonedDateTime?, 1, null)
var lifeCycleRuleList = mutableListOf<LifecycleRule>()
val lifecycleRuleExpiry = LifecycleRule(
Status.ENABLED,
null,
expiration,
RuleFilter("expiry/logs"),
"rule 1",
null,
null,
null)
lifecycleRuleList.add(lifecycleRuleExpiry)
var lifecycleConfig = LifecycleConfiguration(lifecycleRuleList)
// Applies the lifecycleConfig on to target bucket.
client.setBucketLifecycle(SetBucketLifecycleArgs.buider()
.bucket(bucketName).config(lifecycleConfig).build())
}
問題
mc rb mycloud/bucketName
將無法刪除存儲桶,但是使用mc rb -force mycloud/bucketName
刪除它會成功刪除它。 有沒有辦法在生命周期參數上指定“強制”?生命周期規則適用於存儲桶內的對象,而不適用於存儲桶本身。
S3 生命周期配置是一組規則,用於定義 Amazon S3 應用於一組對象的操作。
(參考: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html )
因此,這個桶不會被刪除(即使)當其中的所有對象都通過 ILM 策略過期時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.