代码之家  ›  专栏  ›  技术社区  ›  niclas_4

在项目之间导出/导入FireStore和存储桶

  •  1
  • niclas_4  · 技术社区  · 7 年前

    因此,在google cloud cli的当前beta函数中,有一个导入和导出firestore数据的选项。 https://firebase.google.com/docs/firestore/manage-data/export-import

    现在我把一个出口变成一个桶,所有的工作都很好,再次进口,也很好地工作。现在我有两个不同的项目,想要将备份导入到一个不同的项目中,这是可能的吗?如果我也只需要一个项目的账单账户就好了。

    文档中的这一行表示

    一旦在云存储中导出了文件,就可以导入文档。 在这些文件中返回到您的项目或其他项目。

    但是医生不包括它到底是怎么做的?

    1 回复  |  直到 7 年前
        1
  •  2
  •   HondaGuy    7 年前

    可以在项目之间导入/导出。以下是对我有用的步骤:

    首先,确保 gcloud 已安装命令行工具。设置说明, 出口/进口流程的完整信息可在FireBase的文档中阅读。 页约 Firestore Export and Import .

    在继续之前,请将gCloud项目设置为要从中执行的项目 来源 你的数据:

    gcloud config set project [PROJECT_ID]

    然后,使用 谷歌云控制台 Web应用程序,确保 云存储 Bucket已创建于 这个项目将是 来源 数据。

    例如,对于源bucket,您可以创建一个bucket,例如:

    gs://my-source-project-export .

    只要你选择一些独特的东西,你就可以随意命名这个桶。

    然后可以使用命令完成源数据的导出。例如,如果要导出 只是 cameras radios 收藏到您的 my-source-project-export 桶,带 日期目录用于标识导出,包括可选的 collection-ids 标记,如下所示:

    gcloud beta firestore export gs://my-source-project-export/export-20190113_2109 --collection-ids='cameras','radios'

    省略标志将复制所有集合。

    这个 GCLI CLI工具 应无问题完成出口。

    现在,要完成 进口 我们首先将gCloud项目切换到 目标 我们的数据:

    gCloud配置集项目[项目ID]

    然后,我们可以尝试导入:

    gcloud beta firestore import --collection-ids='cameras','radios' gs://my-source-project-export/export-20190113_2109

    由于权限问题,操作可能失败。如果是这样,它将报告需要拥有哪个服务帐户 进入水桶。要解决权限问题,只需使用 Google Cloud Console Storage Browser 管理 的权限 来源 桶。必须将所需的服务帐户添加到 成员 列出 角色 Storage Admin .

    更正权限后,可以重新尝试该操作。对于长时间运行的操作,列表 可以使用以下命令检索的操作及其状态:

    gcloud beta firestore operations list

    一旦导入完成,最好取消授予服务帐户的权限(如果有),以避免任何不需要的安全问题。

    希望有帮助。