平台

从Firebase Storage迁移至Supabase

将Firebase Storage文件迁移到Supabase Storage


Supabase 提供了多种工具用于将存储文件从Firebase Storage迁移到Supabase Storage。转换过程分为两步:

  1. 从Firebase存储桶下载文件到本地文件系统
  2. 将文件从本地文件系统上传到Supabase存储桶

设置迁移工具

  1. 克隆firebase-to-supabase仓库:

    1
    git clone https://github.com/supabase-community/firebase-to-supabase.git
  2. /storage目录中,将supabase-keys-sample.js重命名为supabase-keys.js

  3. 进入Supabase项目的API设置页面

  4. 复制项目URL并更新supabase-keys.js中的SUPABASE_URL

  5. 项目API密钥下,复制service_role密钥并更新supabase-keys.js中的SUPABASE_KEY

生成Firebase私钥

  1. 登录Firebase控制台并打开您的项目
  2. 点击侧边栏项目概览旁边的齿轮图标,选择项目设置
  3. 点击服务账户并选择Firebase Admin SDK
  4. 点击生成新的私钥
  5. 将下载的文件重命名为firebase-service.json

命令行选项

下载 Firestore Storage 存储桶到本地文件系统

node download.js <prefix> [<folder>] [<batchSize>] [<limit>] [<token>]

  • <prefix>: 要下载文件的前缀。要处理根存储桶,请使用空前缀:""。
  • <folder>: (可选) 下载文件的子文件夹名称。所选文件夹将作为当前文件夹的子文件夹创建(例如 ./downloads/)。默认为 downloads
  • <batchSize>: (可选) 默认值为 100。
  • <limit>: (可选) 处理指定数量的文件后停止。无限制请使用 0
  • <token>: (可选) 从此 pageToken 开始处理。

如需通过多次命令行执行进行批量处理,必须在后续调用中使用相同参数并指定新的 <token>。使用上次调用显示的 token 可以从特定点继续处理流程。

上传文件到 Supabase Storage 存储桶

node upload.js <prefix> <folder> <bucket>

  • <prefix>: 要下载文件的前缀。要处理所有文件,请使用空前缀:""。
  • <folder>: 要上传文件的子文件夹名称。所选文件夹将作为当前文件夹的子文件夹读取(例如 ./downloads/)。默认为 downloads
  • <bucket>: 要上传到的存储桶名称。

相关资源

企业服务

如需获取更多项目迁移帮助,请联系我们