繁体   English   中英

AWS S3:删除多个 S3 子文件夹中的所有镶木地板文件

[英]AWS S3: Deleting all parquet files in multiple S3 subfolders

我们在存储 parquet 文件的每个 S3 存储桶中有很多文件夹和子文件夹,问题是当发生数据错误时,我们必须手动 go 到每个文件夹/子文件夹/子子文件夹等以删除所有 parquet 文件。

有没有办法通过a)AWS cli或b)使用py脚本并在AWS Glue作业中运行它可以删除多个子文件夹和子子文件夹中的所有镶木地板文件?

选项 b) 会很棒,理想情况下是无需指定子文件夹即可运行的脚本。 我们的文件夹结构已设置,因此如果脚本需要所有子文件夹的路径,我们也可以使用该解决方案。

提前致谢!

是的,您可以使用 awscli 删除特定分区/前缀下的所有对象,如下所示:

aws s3 rm s3://folder/2022/09/ --recursive

根据需要,前缀可以是 YYYY/、YYYY/MM/、YYYY/MM/DD/ 等。

请注意,这将删除特定前缀下的所有对象。

您指定了在删除对象时保留文件夹结构的偏好,但在一般情况下这是不可能的,因为没有实际的文件夹。 它们是虚拟的,并且仅在具有给定键前缀的对象存在时才出现。 如果你想创建一个给定的文件夹结构,那么你可以通过简单地将附加对象写入相关的键前缀来做到这一点,例如folder/2022/09/dummy.txt甚至是文件folder/2022/09/ /2022/09/ 的零大小 object 来表示文件夹。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM