【问题标题】:Unable to delete S3 bucket after implementing lifecyle using AWS CDK使用 AWS CDK 实施生命周期后无法删除 S3 存储桶
【发布时间】:2021-10-15 22:08:25
【问题描述】:

我是 aws cdk 的初学者,我已经使用 AWS CDK 实施了 S3 生命周期管理,以在创建存储桶 10 天后删除存储桶(包括文件)。

Cdk 实现如下:

Builder builder = BucketProps.builder().encryption(BucketEncryption.KMS_MANAGED).removalPolicy(RemovalPolicy.DESTROY);

final String bucketName = ApplicationProperties.INSTANCE.getBatchS3Name();
final List<LifecycleRule> lifecycleRules = new ArrayList();
final LifecycleRule rule = new LifecycleRule.Builder().expiration(Duration.days(10)).build();
lifecycleRules.add(rule);
builder.lifecycleRules(lifecycleRules);

this.bucket = new Bucket(stack, "BatchWorkBucket", builder.build());

但是 s3 对象在 10 天后没有被删除。 如附图所示,它即将过期。 我们没有在 cdk api (https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.LifecycleRule.html#transitions) 中设置“删除过期的删除标记或不完整的分段上传”或其他选项的选项。

你能帮我解决这个问题吗,如何使用 aws cdk 删除 s3 对象。

【问题讨论】:

    标签: java amazon-s3 aws-cdk s3-lifecycle-policy


    【解决方案1】:

    我相信这是按预期工作的。标记为过期的对象最终将被删除,但不会完全在 10 天之后被删除,就像您的情况一样。根据documentation

    当一个对象根据其生命周期策略到达其生命周期结束时,Amazon S3 将其排入队列等待移除并异步移除。到期日期与 Amazon S3 删除对象的日期之间可能存在延迟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-12
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 2021-06-14
      • 2023-03-17
      • 2017-11-16
      相关资源
      最近更新 更多