【发布时间】:2021-09-04 06:10:05
【问题描述】:
可能这只是一个新手问题。
我有一个使用 boto3 sdk 的 python 代码,我需要从 s3 存储桶中删除除一个文件之外的所有文件。
问题在于用户正在更新此 S3 存储桶并将一些文件放入一些文件夹中。复制这些文件后,我需要删除它们,因此这里的问题是文件夹也被删除,因为云提供商上没有文件夹的概念。我需要保持“文件夹”结构完整。我正在考虑在每个“文件夹”中放置一个虚拟文件,并将该文件排除在删除之外。
这是可行的吗?
【问题讨论】:
-
为什么需要保持“文件夹”结构完整?
-
因为它们是由用户手动更新的。如果我删除文件夹,那么他将不得不手动重新创建文件夹,这很麻烦。
-
请注意,S3 中通常不需要文件夹。您不需要文件夹即可上传文件。您只需使用所需的密钥上传文件,任何新的中间文件夹层次结构都是隐式的。
-
也许我没有更好地解释我的用例。我必须以自动方式(Python、rsync 等)将 S3 中的一些文件同步到 GCS,因此最终用户上传的文件总是驻留在那个“文件夹结构”中,我需要那个结构,因为每个S3 中的文件夹映射到 GCS 中的存储桶。移动文件后,我需要从 S3 中删除它们(因此问题就在这里),但保留文件夹,以便第二天用户可以将其他文件上传到这些文件夹中。我希望这次我解释得更好一点。
标签: python amazon-web-services amazon-s3 boto3