如何从Amazon s3删除包含许多子目录的目录

时间:2019-02-13 16:23:02

标签: amazon-web-services amazon-s3

在Amazon s3中对镶木地板表进行分区时,我犯了一个错误,最终我得到了一个包含数百万个子目录的文件夹,删除整个目录需要几个月的时间。您知道如何快速进行吗? 谢谢。

我在s3中具有以下文件夹结构:

enter code 
my_parquet/id=1/..
my_parquet/id=2/..
....
my_parquet/id=6000000/..

3 个答案:

答案 0 :(得分:1)

您可以在存储桶上创建生命周期策略,并指定所需的路径。

选择删除对象,它们将在24小时左右的某个时间被魔术删除。它适用于任意数量的对象。

答案 1 :(得分:0)

最简单的方法是删除存储桶并重新创建它。使用AWS CLI,它将为-2147218683。如果存储桶已启用版本控制,则此功能将无效。在这种情况下,您需要empty the bucket

还请记住,从概念上讲S3确实没有文件夹/子目录。只有对象,并且其中一些对象在名称上逻辑上带有前缀。

答案 2 :(得分:0)

您要使用带前缀的递归删除:

aws s3 rm s3://bucket/my_parquet --recursive