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

如何通过gsutil命令获取Firebase Storage中MP4文件的可下载URL

用gsutil获取Firebase Storage中MP4文件的可下载URL

首先确保你已配置好gsutil,且能正常访问你的Firebase Storage存储桶(格式通常为gs://<你的项目ID>.appspot.com)。

方法1:生成临时可下载URL(带有效期)

临时URL适合短期分享,过期后自动失效:

  • 单个文件生成命令:
    gsutil signurl -d 1h <你的服务账号密钥文件路径> gs://<存储桶名>/<文件夹路径>/<目标文件>.mp4
    
    说明:-d 1h表示URL有效期1小时,可替换为2d(2天)、30m(30分钟)等时长;服务账号密钥文件需具备存储对象的读取权限。
  • 批量生成所有MP4文件的临时URL:
    用bash循环批量处理,脚本示例:
    gsutil ls gs://<存储桶名>/**/*.mp4 | while read file; do
      echo "文件路径: $file"
      gsutil signurl -d 1h <你的服务账号密钥文件路径> "$file"
      echo "------------------------"
    done
    

方法2:生成永久可下载URL(需设置文件公开)

若需要长期可访问的URL,先将文件设为公开可读,再拼接固定格式的URL:

  • 批量设置MP4文件为公开可读:
    gsutil -m acl ch -u AllUsers:R gs://<存储桶名>/**/*.mp4
    
    说明:-m表示并行处理,提升大量文件的处理效率;AllUsers:R赋予所有用户读取权限。
  • 自动生成永久URL:
    公开文件的URL格式为https://firebasestorage.googleapis.com/v0/b/<存储桶名>/o/<URL编码的文件路径>?alt=media,用脚本自动生成:
    gsutil ls gs://<存储桶名>/**/*.mp4 | while read file; do
      bucket=$(echo "$file" | cut -d'/' -f3)
      file_path=$(echo "$file" | cut -d'/' -f4-)
      encoded_path=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$file_path'))")
      url="https://firebasestorage.googleapis.com/v0/b/$bucket/o/$encoded_path?alt=media"
      echo "文件: $file"
      echo "永久URL: $url"
      echo "------------------------"
    done
    

注意事项

  • 公开文件会被任何人访问,无需权限验证,用完后可执行gsutil -m acl ch -d AllUsers gs://<存储桶名>/**/*.mp4移除公开权限。
  • 服务账号密钥文件可从Google Cloud控制台的「IAM与管理」→「服务账号」页面创建并下载。

内容的提问来源于stack exchange,提问作者Ankur Ranpariya

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:54:30