Firebase/Firestore导入错误:(gcloud.Firestore.import)实体太大
我试图克隆firestore数据库。我找到了一个关于这个主题的指南(),所以我试着完成这个指南中的步骤 要导出数据库,我执行了以下操作:Firebase/Firestore导入错误:(gcloud.Firestore.import)实体太大,firebase,google-cloud-platform,google-cloud-firestore,Firebase,Google Cloud Platform,Google Cloud Firestore,我试图克隆firestore数据库。我找到了一个关于这个主题的指南(),所以我试着完成这个指南中的步骤 要导出数据库,我执行了以下操作: 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://[BUC
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 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导入…)导致此错误:
ERROR: (gcloud.firestore.import) Entity too large
我搜索了这个问题,但我只能在该页面的缓存google结果中找到:
上面写着:
导入操作使用目标项目的项目ID更新导入数据中的实体键和键引用属性。如果此更新增加了实体大小,则可能导致导入操作出现“实体太大”或“索引项太大”错误。
若要避免这两种错误,请使用较短的项目ID导入到目标项目中
我的项目ID如下所示:XX-XXXXX-XXXXXXX。它有16个字符长。由于我需要为我的项目制定一个付费计划,简单地用一个较短的名称进行测试是不会免费的
因此,如果您能提示我ID是否真的是问题所在,或者我是否可以尝试其他方法来克隆我的数据库,我将不胜感激
更新:我可以通过导出/导入单个集合来克隆数据库。但我的一个收藏有79000多份文件。当我导出这个大集合并尝试导入它时,我仍然得到
ERROR: (gcloud.firestore.import) Entity too large
这类问题通常与以某种方式超过允许大小的实体有关,当尝试恢复DB(从导出到导入)时,会出现问题。鉴于出口没有任何限制,问题在于进口。项目Id不应该与该问题有任何关系 您可以检查这一点的一种方法是您自己检查和检查较大的实体。云数据存储实体应遵守设置的限制,特别是实体的大小。实体的大小是以下各项的总和:
- 关键尺寸
- 属性大小的总和
- 32字节
gcloud数据存储操作描述[操作ID]
使用导入操作id以获取更多详细信息
我找到了这个。如前所述,这个问题应该通过修改受影响的实体来解决。我可以通过导出/导入单个集合而不是整个数据库来解决。要导出单个集合,我使用了“gcloud datastore export--namespace=“(默认)”--kinds=“[collectionName]”gs://[bucketName]。这是一个可行的解决方案,只要我的单个集合满足导入限制。而且进行多个导入/导出而不是一个导入/导出很麻烦。因此,我想进一步了解有关如何克隆大型firestore数据库的提示。是的,通过这些操作,您可以避免大型实体。在这里,我想澄清一下:在您的帖子中当ProjectId太大时,u共享了可能的错误:
“实体太大”或“索引项太大”
,但您遇到的错误是错误:(gcloud.firestore.import)实体太大
。若要解决此问题,必须标识大于允许值的种类/集合,并删除属性或跳过属性。这将是解决此问题的方法。