Rod*_*aim 1 java amazon-s3 bucket kotlin minio
创建Minio存储桶后,我设置了存储桶的生命周期规则。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())
}
Run Code Online (Sandbox Code Playgroud)
问题
mc rb mycloud/bucketName将无法删除存储桶,但强制使用mc rb -force mycloud/bucketName将成功删除它。有没有办法对生命周期参数进行指定“强制”?小智 6
生命周期规则适用于存储桶内的对象,而不适用于存储桶本身。
S3 生命周期配置是一组规则,用于定义 Amazon S3 应用于一组对象的操作。
(参考: https: //docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
因此,即使该存储桶中的所有对象都通过 ILM 策略过期,该存储桶也不会被删除。
| 归档时间: |
|
| 查看次数: |
1469 次 |
| 最近记录: |