【发布时间】:2020-10-02 11:09:51
【问题描述】:
我试图克隆一个 Firestore 数据库。我找到了有关此主题的指南 (https://qrc.ninja/2019/03/20/cloning-firestore-data/),因此我尝试完成本指南中的步骤。
为了导出数据库,我做了以下操作:
gcloud config set project [PROJECT_ID]
gcloud firestore export gs://[BUCKET_NAME]
要导入数据库,我做了以下操作:
gcloud config set project [DESTINATION_PROJECT_ID]
gsutil acl ch -u [RIGHTS_RECIPIENT]:R gs://[BUCKET_NAME]
gcloud firestore import gs://[BUCKET_NAME]/[TIMESTAMPED_DIRECTORY]
最后一步(gcloud firestore import ...)导致了这个错误:
ERROR: (gcloud.firestore.import) Entity too large
我搜索了这个问题,但我只能在这个页面的缓存谷歌结果中找到:https://cloud.google.com/datastore/docs/export-import-entities 上面写着:
导入操作使用目标项目的项目 ID 更新导入数据中的实体键和键引用属性。如果此更新增加了您的实体大小,则可能会导致导入操作出现“实体太大”或“索引条目太大”错误。 为避免任一错误,请导入具有较短项目 ID 的目标项目。
我的项目 ID 如下所示:XX-XXXXX-XXXXXXX。它有 16 个字符长。由于我的项目需要付费计划,因此仅使用较短的名称进行测试并不是免费的。
因此,如果 ID 确实存在问题,或者我是否可以尝试其他方法来克隆我的数据库,我将不胜感激。
更新:我可以通过导出/导入单个集合来克隆数据库。但我的一个收藏中有超过 79000 份文件。当我导出这个大型集合并尝试导入它时,我仍然得到
ERROR: (gcloud.firestore.import) Entity too large
【问题讨论】:
标签: firebase google-cloud-platform google-cloud-firestore