批量将S3桶的根目录中的文件移动到一个文件夹中(但不包括其他文件夹)

0

【以下的问题经过翻译处理】 看似简单的要求,却遇到了一些麻烦。 基本上我有很多客户端信息的文件夹,每个客户端下都有很多文件(有些超过 500,000 个文件),所以接下来我现在按时间来分类。 因此,我有一个简单的 yyyy-mm 设置,并且运行良好,因此为了清理,我有一个存档文件夹,并希望移动每个客户端根目录中的所有文件(但当然不是 2021-12、2022-01 文件夹内容) in) 到该存档文件夹。

因此,在正常环境中,我可以转到该根目录,move * archive/并完成。 但他们在S3,这就有点困难了。 我正在测试,但我不知道如何获得它。 当然,我的想法是; aws s3 mv s3://bucket/folder1/ s3://bucket/folder/archive* 但自然不好。 这个错误很奇怪; 致命错误:调用 HeadObject 操作时发生错误(404):键“documents/client1/”不存在(但当然存在),如果我添加 --recursive,它确实有效(但其他文件夹也有效) )

我看到有一个包含,所以我想也许我可以找到一种方法来添加 --exclude 2021-12/ 2022-01

任何帮助表示赞赏。

profile picture
EXPERTE
gefragt vor 5 Monaten8 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 从 CLI 考虑使用 --recursive --exclude "/" 这应该可以防止复制键中带有 / 的任何对象,您可以使用该键来指示子文件夹。 请注意,这将处理源位置中的每个对象,因为它将需要确定键是否包含排除模式。

更多信息请参见使用排除和包含过滤器https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen