【发布时间】:2019-10-21 21:42:58
【问题描述】:
我有一个 S3 存储桶,我正在保存 CSV 文件以将它们加载到 Redshift。为此,我使用 Python 和 Boto3。将它们加载到 Redshift 后,我想删除与包含我的代码的处理 ID 的模式匹配的特定文件。
我将文件保存到 S3 存储桶中,如下所示
Redshift{processingID}-table1.csv
Redshift{processingID}-table2.csv
Redshift{processingID}-table3.csv
Redshift{processingID}-table4.csv
处理完那些包含特定 ID 的文件后,我想从我的 S3 存储桶中删除处理过的文件。如何指定模式。
这是我试图从存储桶中删除文件的模式。
Redshift11-*.csv。这里 11 是 processingID。如何使用 boto3 删除所有匹配模式的文件?
我遇到过这个。 https://stackoverflow.com/a/53836093/4626254
但它似乎是在搜索文件夹作为前缀,而不是文件的确切模式。
【问题讨论】:
-
模式是什么?它总是位于同一个文件夹下吗?
-
是的。这些文件将始终位于存储桶的根目录中。
-
比您指出的前缀技巧应该有效。
Prefix (string) -- Limits the response to keys that begin with the specified prefix.由于您的文件始终位于根文件夹下,因此应该可以。试一试,让我们知道。 -
当然@Amit。会让你知道。谢谢。
标签: python amazon-web-services amazon-s3 boto3 boto