我正在跟踪文档:
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
与导入工具正在寻找的文件不匹配。
正如您在评论中确认的那样,您正在尝试从所有集合中提取集合并导出集合。不幸的是,这目前是不可能的,正如你可以在这个文档中看到的:
只有特定集合组的导出才支持特定集合组的导入。不能从导出的所有文档中导入特定集合。
如果你想改变这个,你可以在谷歌的问题跟踪中提交一个功能请求,这样他们就可以考虑实现这个功能。