首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊S3:使用生命周期删除空桶

亚马逊S3:使用生命周期删除空桶
EN

Stack Overflow用户
提问于 2014-09-08 07:29:24
回答 2查看 494关注 0票数 2

我使用aws/aws-sdk-php-laravel来创建存储桶和存储内容。在创建了每个桶之后,我使用putBucketLifecycle()添加了一个生命周期,让它在7天后自动删除,如下所示:

代码语言:javascript
复制
$s3->putBucketLifecycle([
    'Bucket'    => $bucket,
    'Rules'     => [
        [
            'Expiration' => 7,
            'ID'         => 'expires-after-7-days--' . uniqid(),
            'Prefix'     => '',
            'Status'     => 'Enabled',
        ],
    ],
]);

效果很好..。说大也大吧。7天后,实际上,桶中的所有文件都被清除了。但奇怪的是,水桶本身依然存在。因此,我的S3现在满是空桶:

图像源

所以问题是,我怎样才能把水桶也移除呢?我是不是漏掉了计量器/配置?或者我需要显式地调用deleteBucket()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-08 11:48:48

水桶本身不会删除。生命周期策略仅适用于桶中的对象,尽管名称为“桶生命周期”。

票数 0
EN

Stack Overflow用户

发布于 2015-05-07 17:31:54

是的,您只能使用putBucketLifecycle()删除桶中的对象,因为生命周期规则适用于桶中的对象。

当存储桶中的所有对象都被删除后(过期后),您可以使用以下调用来删除桶

代码语言:javascript
复制
// check if bucket is empty
$s3->listObjects(...);
// or use ListObjects iterator
$s3->getIterator('ListObjects', array('Bucket' => $bucket));
// delete bucket if its empty
$s3->deleteBucket(...);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25719298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档