我使用 Amazon Redshift 进行数据分析,有时我使用“卸载”将 RedShift 表卸载到 S3 中,然后将数据复制到另一个 Redshift 实例中。
由于我在执行“卸载”时只需要指定数据文件的前缀,并且它会在 S3 存储桶中创建许多文件,因此我需要一种优雅的方式来清理所有这些数据文件。我不想枚举存储桶中的每个对象并检查键是否与前缀匹配。
我使用 Amazon Redshift 进行数据分析,有时我使用“卸载”将 RedShift 表卸载到 S3 中,然后将数据复制到另一个 Redshift 实例中。
由于我在执行“卸载”时只需要指定数据文件的前缀,并且它会在 S3 存储桶中创建许多文件,因此我需要一种优雅的方式来清理所有这些数据文件。我不想枚举存储桶中的每个对象并检查键是否与前缀匹配。
使用 s3tools 中的 s3cmd 非常简单(从http://s3tools.org/s3cmd获取您自己的副本)
首先用一个命令配置这个程序:
s3cmd --configure
然后剩下的只是一个命令:
s3cmd del s3://your-bucket/some/dir/prefix*