删除文件夹时,无法使用版本控制还原GCS中的文件

时间:2019-02-20 06:58:06

标签: google-cloud-storage

对于备份,我已经在GCS中设置了版本控制。

然后我创建了文件夹,然后在该文件夹中放置了一个文件。之后,我已经删除了文件夹。

然后我使用了gsutil ls -alr命令,但是找不到存储桶中的文件。

我找到了该文件夹,但是无法还原该文件夹中的文件。

删除文件夹后,即使设置了GCS的版本控制,为什么也不能还原该文件夹中的文件?

1 个答案:

答案 0 :(得分:0)

在删除文件夹期间,Google Cloud Storage存储桶中已存档但不存在的文件保留在存档列表中,可以检索。

例如,您可以:

  1. 使用Google Cloud Console在存储桶中创建一个文件夹:gs:// [BUCKET_NAME] / example
  2. 使用Google Cloud Console将文件放入文件夹:gs:// [BUCKET_NAME] /example/file_1.txt
  3. 使用Google Cloud Console将另一个文件放入文件夹:gs:// [BUCKET_NAME] /example/file_2.txt
  4. 使用Google Cloud Console删除file_1.txt
  5. 使用Google Cloud Console删除文件夹example
  6. 运行命令gsutil ls -alr gs://[BUCKET_NAME]/example

您将看到如下结果:

$ gsutil ls -alr gs://[BUCKET_NAME]/example
gs://[BUCKET_NAME]/example/:
        11  2019-02-27T11:48:54Z  gs://[BUCKET_NAME]/example/#1551268...  metageneration=1
        14  2019-02-27T11:49:49Z  gs://[BUCKET_NAME]/example/file_1.txt#1551268189...  metageneration=1 
TOTAL: 2 objects, 25 bytes (25 B)

您会注意到,只有file_1.txt可供重试,因为它是已存档的文件夹,在删除文件夹后不生效。

此外,要列出存储桶的所有已归档对象,您可以运行gsutil ls -alr gs://[BUCKET_NAME]/**

因此,如果在删除文件夹之前已归档并删除了文件,则可以使用gsutil ls -alr gs://[BUCKET_NAME]/**列出它们,并使用另一个命令来检索它们,有关更多信息,请访问Using Object Versioning > Copying archived object versions文档。