我知道文件夹不是 S3 中的文件夹,但如果您可以在启用版本控制的情况下恢复某个文件夹的先前版本,那将非常有用。我一直在查看它,但我只能看到文件的先前版本,而看不到文件夹。
如果您的文件夹中包含数千个文件,其中数百个文件被删除,而您不确定具体在哪里或何时删除,那么这非常有用。
有什么办法可以做到这一点?
(使用 Linux)
编辑:
看起来唯一有效的方式就是使用这个工具:
https://labs.madisoft.it/amazon-s3-point-in-time-restore/
我很震惊,官方的 s3 工具和 s3cmd 不支持这一点。
答案1
你已经对自己的问题给出了正确的回答。
你说“文件夹不是 S3 内的文件夹”,这是真的。此外,S3 中没有文件夹,只有键,这些键只是字符序列。
大多数软件将“/”字符视为文件夹的分隔符。例如,“a/b/c”被视为文件夹“b”中的文件“c”,而文件夹“b”又位于文件夹“a”中。
还有另一种方法。我知道,有些软件过去将“$folder$”字符串视为分隔符。但对于大多数人来说,“/”字符看起来更自然。
现在回到文件夹的版本。没有文件夹 - 没有文件夹恢复。
塞尔吉奥,CloudBerry实验室
答案2
通过快速搜索,我找到了下面这个在 Stack Overflow 上针对同一问题的内容:
AWS CLI
aws s3 ls s3://<bucket_name> | awk '{print $4}' | xargs -L 1 aws s3api restore-object --restore-request Days=<days> --bucket <bucket_name> --key
s3命令
s3cmd restore --recursive s3://mybucketname/folder/
问候
利亚姆