【问题标题】:Is it a way to backup data in Firebase Storage?这是一种在 Firebase 存储中备份数据的方法吗?
【发布时间】:2018-03-04 08:03:32
【问题描述】:

Firebase Blaze 计划的自动备份会备份 Firebase 实时数据库。但是我找不到如何为我每天备份实时数据库的同一个项目备份 Firebase 存储数据库。有人知道如何备份 Firebase 存储吗?

【问题讨论】:

    标签: firebase-storage database-backups


    【解决方案1】:

    如何对 Firebase 存储进行本地备份

    Firebase 没有内置方法。但是,由于 Firebase 在后台使用 Google Cloud Storage 作为 Firebase 存储,因此可以使用 gutils 工具

    先决条件

    • 确保您的机器上安装了 Python (2.7.9+) python -V
    • 转到the Google Cloud SDK page 并按照说明下载并在您的操作系统上安装 Google Cloud SKD。

    步骤

    1. 在 Google SDK 安装结束时,您应该运行 gcloud init。这将要求您选择您的项目并验证您的身份。由于 Firebase 在幕后使用 Google Cloud Platform,因此您的 Firebase 项目应该可供选择。
    2. 为了让 Google Cloud Utils 下载使用 Firebase 权限上传的文件,您需要为您的帐户提供 Firebase 权限。转到IAM page 并选择您登录cloud init 时使用的电子邮件地址。在可用权限列表中,您需要从Other 类别中选择Firebase Rules System
    3. 从仪表板中的 Firebase 存储页面获取您的 Google 存储 URL(朝向顶部)应该如下所示:gs://<bucket_name>
    4. 在本地计算机上的命令行中导航到要进行本地备份的文件夹。 确保您位于所需的文件夹中,因为以下命令将下载当前文件夹中的所有文件
    5. 运行gutil命令gsutil -m cp -R gs://<bucket_name> .
      • 如果您有很多文件,-m 会启用多线程以加快下载速度。
      • cp是复制命令
      • -R 是递归的。如果启用,它将下载指定树中的所有文件和文件夹。
    6. 你已经完成了!这将运行一段时间,具体取决于您的存储大小。

    这也可以用来复制(备份)到另一个谷歌云存储桶或 AWS 等。

    【讨论】:

    • 我不知道为什么这没有得到任何支持,但这很好用。谢谢!
    • 非常感谢@auzy。它工作得很好。对于你们,不要忘记这一点:Make sure you are in the folder you want as the following command will download all files right there in current folder.
    • 备份只是要求的一半。我使用 FB RTDB 和 Storage 来保存与 RTDB 上的记录相关联的图像。在我的应用程序中,使用存储在 RTDB 上的 url+token 访问图像。但是,如果有数据丢失并且我必须恢复 FB Storage 存储桶,FB 会为图像创建新令牌,因此它们不再链接到 FB RTDB 记录,手动修复链接完全不切实际。有人找到了成功恢复的方法吗?。
    • 下载完所有文件后,如何通过一个命令递归地上传它们?
    • @LukasLukeStateczny gsutil -m cp -r <local_folder> gs://<bucket_name>。我会仔细检查 Google Cloud Docs 以确保它适用于您的设置,但这是一般用例。
    【解决方案2】:

    我知道3年前在Google Cloud SDK中使用gsutil就已经有了正确答案。下面我只想添加另一种从 Google Cloud Storage 的存储桶手动下载 Firebase 存储的方法,它们是:

    • 不需要帐户计费。 (至少此时)
    • 无需使用 CLI 命令。

    但是,它不允许下载多个文件/文件夹。它只是帮助您一次下载单个文件。

    步骤

    1. 通过Google Cloud Storage 访问您的项目
    2. 在浏览器选项卡中,选择包含您的文件的存储桶。
    3. 在存储桶详细信息页面中,单击向下箭头图标(下载图标) 要下载的文件行的末尾。您可以点击多次下载多个文件。

    额外:Google 可以帮助您使用gsutil 命令行一次下载多个文件和文件夹。您可以通过选择文件和文件夹来尝试它,然后点击表格顶部的“下载”文本操作。

    【讨论】:

      猜你喜欢
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多