从Firebase Storage迁移至Supabase
将Firebase Storage文件迁移到Supabase Storage
Supabase 提供了多种工具用于将存储文件从Firebase Storage迁移到Supabase Storage。转换过程分为两步:
- 从Firebase存储桶下载文件到本地文件系统
- 将文件从本地文件系统上传到Supabase存储桶
设置迁移工具
-
克隆
firebase-to-supabase
仓库:1git clone https://github.com/supabase-community/firebase-to-supabase.git -
在
/storage
目录中,将supabase-keys-sample.js重命名为supabase-keys.js
-
进入Supabase项目的API设置页面
-
复制项目URL并更新
supabase-keys.js
中的SUPABASE_URL
值 -
在项目API密钥下,复制service_role密钥并更新
supabase-keys.js
中的SUPABASE_KEY
值
生成Firebase私钥
- 登录Firebase控制台并打开您的项目
- 点击侧边栏项目概览旁边的齿轮图标,选择项目设置
- 点击服务账户并选择Firebase Admin SDK
- 点击生成新的私钥
- 将下载的文件重命名为
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>
: 要上传到的存储桶名称。
如果存储桶不存在,将创建为 non-public
非公开存储桶。在用户能够下载任何文件之前,您必须在 Supabase 仪表板 中为此新存储桶设置权限。
相关资源
企业服务
如需获取更多项目迁移帮助,请联系我们。