在创建了一个Minio桶之后,我设置了存储桶的生命周期规则。LifeCycleRule使用仅设置为1天的过期变量。在通过minio客户机(mc) mc ilm ls mycloud/bucketName
检查桶的状态时,我注意到生命周期规则已经成功地应用到指定的桶上。然而,在一天后重新检查Minio时,水桶仍然在那里。为了正确删除迷你桶,我还需要添加到LifeCycleRule中的其他东西吗?
注意,我一直使用Minio客户端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
会成功地将其删除。有办法在生命周期参数上喷出“强制”吗?发布于 2022-03-16 23:38:21
生命周期规则适用于桶中的对象,而不是桶本身。
S3生命周期配置是一组规则,用于定义亚马逊S3应用于一组对象的操作。
(参考文献:https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
因此,当桶中的所有对象通过ILM策略过期时,它都不会被删除(甚至)。
https://stackoverflow.com/questions/71430786
复制相似问题