firebase - 使用 Firebase 身份验证的 gsutil 并行复合上传
问题描述
我正在开发一个使用 Firebase 身份验证的 Electron 应用程序。用户将上传 500mb+ 的文件。我想使用 gsutil cp 命令来启用并行复合上传。我可以将 Firebase 身份验证令牌与 gsutil 一起使用吗?我读到服务帐户可以由经过身份验证的用户模拟,这是否适用于 Firebase?
解决方案
请注意,gsutil是一个 Python 应用程序,可让您从命令行访问 Google Cloud Storage。您可以使用 gsutil 执行各种存储桶和对象管理任务,包括:
- 创建和删除存储桶。
- 上传、下载和删除对象。
- 列出存储桶和对象。移动、复制和重命名对象。
- 编辑对象和存储桶 ACL。
gcloud命令行界面是创建和管理 Google Cloud 资源的主要 CLI 工具。您可以使用此工具从命令行或脚本和其他自动化执行许多常见的平台任务。
在我看来,从 Firebase 控制台生成的令牌不用于直接向 Cloud Storage 进行身份验证。相反,我相信它是一个Firebase ID 令牌,因此,您将无法使用 gsutil 生成它。
根据官方文档,对于 gsutil 身份验证,您必须使用以下命令:
- gcloud auth activate-service-account --key-file KEY_FILE
关于您的其他问题,Firebase 身份验证客户端 SDK没有内置模拟机制。要在这些 SDK 上以特定用户身份登录,您必须知道该用户的凭据。
但是,Firebase Admin SDK在与实时数据库交互时支持模拟用户。因为 Admin SDK 旨在以管理权限在受信任的环境中运行。
请查看官方文档以模拟普通用户。
推荐阅读
- c# - 为什么整数比较会改变我的查询的连接类型?
- git - 从 git LFS 中提取所有文件
- javascript - 从外部返回一个 Promise 的值
- ios - 为什么动画不起作用但打印语句起作用?
- python - PyMySQL 访问被拒绝“使用密码(否”)但使用密码
- html - 我的第二个字体怎么没有加载?
- swift - 对 XLPagerTabStrip 控制器中的所有视图控制器使用一个选项卡
- php - 在 Laravel 5.5 中实现 Mail 时出现此错误---->Missing argument 1 for Illuminate\Support\Manager::createDriver()
- loops - 在循环中更改顺序椭圆的颜色
- android - 使用 Management API 启动应用程序