Bad*_*dgy 3 google-cloud-storage firebase google-cloud-firestore
因此,在当前的Google Cloud CLI Beta功能中,可以选择导入和导出Firestore数据。 https://firebase.google.com/docs/firestore/manage-data/export-import
现在,我进行了“导出到存储桶”操作,一切正常,然后再次导入,效果也很好。现在我有两个不同的项目,想将备份导入到另一个项目中,这可能吗?如果我也只需要一个项目的计费帐户,那将很好。
Docs中的这一行表示可能
在Cloud Storage中导出文件后,您可以将这些文件中的文档导入回到您的项目或另一个项目中。
但是文档没有涵盖其具体执行情况吗?
可以在项目之间导入/导出。以下是对我有用的步骤:
首先,请确保gcloud已安装命令行工具。可以在Firebase有关Firestore导出和导入的文档页面上阅读有关设置的说明以及有关导出/导入过程的完整信息。
在继续之前,设置gcloud项目从您要的项目源数据:
gcloud config set project [PROJECT_ID]
然后,使用Google Cloud Console Web应用程序,确保已在项目上创建了Cloud Storage存储桶,该存储桶将成为数据源。
例如,对于源存储桶,您可以创建一个存储桶,例如:
gs://my-source-project-export。
您可以为存储桶命名,只要您选择独特的名称即可。
然后可以使用命令完成源数据的导出。例如,如果您只想将camerasand radios集合导出到您的my-source-project-export存储桶中,并带有注明日期的目录以标识导出,则可以包含可选collection-ids标志,如下所示:
gcloud beta firestore export gs://my-source-project-export/export-20190113_2109 --collection-ids='cameras','radios'
省略该标志将复制所有集合。
该gcloud CLI工具应该完全没有问题的出口。
现在,要完成导入,我们首先将gcloud项目切换到数据目标:
gcloud config set project [PROJECT_ID]
然后,我们可以尝试导入:
gcloud beta firestore import --collection-ids='cameras','radios' gs://my-source-project-export/export-20190113_2109
由于权限问题,该操作可能会失败。如果是这样,它将报告哪个服务帐户需要访问存储桶。要解决权限问题,您可以简单地使用
Google Cloud Console存储浏览器来管理源存储桶的权限。必须将具有角色的所需服务帐户添加到成员列表中Storage Admin。
纠正权限后,可以重新尝试该操作。对于长时间运行的操作,可以使用以下命令检索操作及其状态的列表:
gcloud beta firestore operations list
导入完成后,最好撤消授予服务帐户的权限(如果有的话),以避免任何不必要的安全问题。
希望能有所帮助。
| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |