恢复部分 Firestore 导出

Restoring part of firestore export

我正在跟进文档:

https://cloud.google.com/sdk/gcloud/reference/firestore/import

我正在尝试从今天的备份中恢复集合 pets。但是我得到这个:

# gcloud firestore import gs://pets-backup/2021-02-26T02:27:05_54372/ --collection-ids='pets'
ERROR: (gcloud.firestore.import) INVALID_ARGUMENT: The requested kinds/namespaces are not available

我可以确认 gs-bucket 存在并且集合 pets 也存在。

这个错误不是很有帮助,我不确定我在处理什么。

我注意到导出中有文件夹 /all_namespaces/all_kinds。当我尝试直接从这些导入时,我得到:

gcloud firestore import 'gs://pets-backup/2021-02-26T02:27:05_54372/all_namespaces/all_kinds' --collection-ids='pets'
ERROR: (gcloud.firestore.import) NOT_FOUND: Google Cloud Storage file does not exist: /pets-backup/2021-02-26T02:27:05_54372/all_namespaces/all_kinds/all_kinds.overall_export_metadata

我可以看到只有一个文件 all_namespaces_all_kinds.export_metadata 与导入工具正在查找的文件不匹配。

正如您在评论中确认的那样,您正在尝试从所有集合中提取一个集合并导出。不幸的是,目前这是不可能的,正如您在 documentation:

中看到的那样

Only an export of specific collection groups supports an import of specific collection groups. You cannot import specific collections from an export of all documents.

如果您希望对此进行更改,可以在 Google's Issue Tracker 中提交功能请求,以便他们考虑实施此功能。