比方说,我有不同尺寸的图像对S3:如何删除S3开头的文件
137ff24f-02c9-4656-9d77-5e761d76a273.webp
137ff24f-02c9-4656-9d77-5e761d76a273_500_300.webp
137ff24f-02c9-4656-9d77-5e761d76a273_400_280.webp
我使用博托删除单个文件:
bucket = get_s3_bucket()
s3_key = Key(bucket)
s3_key.key = '137ff24f-02c9-4656-9d77-5e761d76a273.webp'
bucket.delete_key(s3_key)
但我想删除以137ff24f-02c9-4656-9d77-5e761d76a273开头的所有密钥。
请记住,存储桶中可能有数百个文件,因此我不想遍历所有文件。有没有办法只删除以特定字符串开头的文件?
也许有一些正则表达式的删除功能。
使用asterix(*)的通配符删除绝对有效's3:// bucket-name/string *'!!!!!!!! –
但是看起来's3cmd'会一个接一个地删除文件(在我的情况下,每个文件大约需要0.5秒)。因此,如果您需要非常快速地删除50万个文件,那么您将需要基于多次删除的解决方案。但对于偶尔清理S3桶来说,这种方法看起来非常好 –