首页 > 解决方案 > 如何从 S3 中删除特定日期的子存储桶

问题描述

我有如下S3路径:

s3://edl/raw-v2/LOS5DB/

在其下有多个表,如下所示:
小路

现在,考虑这条路径:

s3://edl/raw-v2/LOS5DB/LOS5/ADDRESS_DETAILS/  

此表有 parquet 数据,如下所示:

edl_load_ts=2020-11-10/ 
edl_load_ts=2020-11-19/  
edl_load_ts=2020-12-10/  
edl_load_ts=2020-12-11/  

现在我想通过实例删除数据,该EC2实例将删除所有具有数据的表的数据before 20th November
为此,我开发了一个正则表达式模式,如下所示:

aws s3 rm s3://edl/raw-v2/LOS5DB/LOS5/ --recursive --dryrun  --exclude "\*/\*" --include "\*/\*=2020-11-20/  

但是这个命令会删除LOS5下每个表下的所有数据。它不工作低于20th November。我希望它删除过去日期的每个表的数据。我无法手动执行此操作,因为每个 DB 有 1000 多个表。

我哪里错了?

标签: amazon-web-servicesamazon-s3wildcardglob

解决方案


推荐阅读