You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Firebase Storage文件夹下载全部文件?已尝试多法遇阻

解决Firebase Storage批量文件下载问题

先修正你尝试的三种方法的错误

1. Firebase CLI 命令错误

你使用的storage:download/storage:get不是Firebase CLI的有效命令。Firebase CLI的Storage命令集中没有直接批量下载文件的指令,批量操作推荐使用gsutil(Firebase Storage底层基于Google Cloud Storage)。

2. gsutil 配置/初始化问题

报错unknown host说明你的gsutil未正确初始化或未关联Google Cloud账号。执行以下步骤修复:

  • 先安装并初始化gcloud CLI(gsutil随gcloud默认安装)
  • 登录账号:
    gcloud auth login
    
  • 重新执行下载命令(加-m启用多线程,提升下载速度):
    gsutil -m cp -r gs://tridosha-iks-research-project.appspot.com/audio ./
    

3. Python 密钥文件错误

你用的google-services.json是给Android/iOS应用使用的配置文件,而firebase_admin.credentials.Certificate需要的是Firebase服务账号私钥文件。修复步骤:

  1. 打开Firebase控制台→项目设置→服务账号→点击「生成新的私钥」,保存生成的json文件(比如命名为service-account-key.json)
  2. 修改代码如下:
    import firebase_admin
    from firebase_admin import credentials, storage
    import os
    
    # 用服务账号私钥初始化
    cred = credentials.Certificate("/home/shreyansh/Desktop/PAISA/IKS/service-account-key.json")
    firebase_admin.initialize_app(cred, {
        'storageBucket': 'tridosha-iks-research-project.appspot.com'
    })
    
    bucket = storage.bucket()
    # 遍历audio目录下所有文件并下载
    blobs = bucket.list_blobs(prefix='audio/')
    for blob in blobs:
        local_file_path = os.path.join('./', blob.name)
        # 创建本地目录(如果不存在)
        os.makedirs(os.path.dirname(local_file_path), exist_ok=True)
        blob.download_to_filename(local_file_path)
    

额外可行方案:直接下载整个存储桶

如果需要下载整个存储桶,把gsutil命令里的路径改成存储桶根目录即可:

gsutil -m cp -r gs://tridosha-iks-research-project.appspot.com ./

内容的提问来源于stack exchange,提问作者Shreyansh Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:27:31