Google Drive API - 服务帐户存储限制 - 替代方案

Posted

技术标签:

【中文标题】Google Drive API - 服务帐户存储限制 - 替代方案【英文标题】:Google Drive API - Service account storage limitation - Alternatives 【发布时间】:2019-06-20 08:21:26 【问题描述】:

我正在开发一个 Web 应用程序,该应用程序将从要存储的 200gb 数据开始。多年来,相同的应用程序可能会达到 1tb,5 年内可能会达到 2tb。

我希望这个应用程序是客户端将文件上传到服务器,然后服务器上传文件执行 Google Drive,将 webviewlink 保存在数据库中。它在本地主机上以这种方式工作。

我知道 Google Drive API 的两种身份验证选项:客户端帐户和服务帐户。 服务帐户的选项更适合我,因为我希望服务器控制文件,而不是客户端控制。 但是服务帐户可以存储的数据太少,并且无法增加存储限制。我猜这个限制在 15GB 左右,不确定。

如果服务帐户对我没有帮助,我有哪些选项可以存储 2tb 或更多数据?我应该找到另一种存储文件的方法吗?

我想继续使用 Google。如果没有任何使用 Google Drive API 的选项,请针对这种情况提出其他建议。

【问题讨论】:

您可能需要为他们的 Google Cloud 支付 google 费用,以便您可以访问更大容量的存储空间。我相信他们的免费帐户限制为 15GB,而商业/付费帐户的存储限制要高得多。 @Azeame 为我的帐户支付 Google Cloud,服务帐户(用于 Google Drive API)限制将增加,否则我必须使用另一个完全不同的 API 来处理 Google 上的上传和下载云? 我有一个服务帐户,它上传了近 200GB 的数据,已经备份了几年的数据,但我可以找到有关配额的任何信息,或者为什么我能够通过您的 15GB 来帮助您。 如果您向我确认您的服务帐户能够拥有超过 15gb 的原因是什么就完美了,我将不胜感激。这也是这个问题的答案。 我又看了一些,看来我弄错了,我实际上有单独安装相同的网络服务,我认为他们只有日历的单独用户服务帐户,但事实并非如此这些单独的服务帐户还管理驱动器备份。据我所知,实际上可能存在 15GB/服务帐户的限制。 【参考方案1】:

你有几个选择。

    使用普通帐户而不是服务帐户。您仍然需要为存储付费,但它会起作用,并且您将在一个帐户中拥有所有内容。从您的问题“我希望服务器控制文件,而不是客户端控制”,我怀疑您已经查看了 OAuth 快速入门示例并得出结论,只有最终用户才能授予访问权限。事实并非如此。对于您的服务器应用程序授予对其控制的帐户的访问权限是完全有效的,并且非常简单。请参阅How do I authorise an app (web or installed) without user intervention? 了解如何执行此操作。

    使用多个服务帐户并在它们之间分片您的数据。各个帐户都可以将他们的文件夹共享给一个主帐户,然后该主帐户将对整个语料库有一个连贯的视图。

我个人会选择选项 1,因为它最容易设置和管理。

无论哪种方式,请确保您了解 Google 将如何向您收取存储费用。例如,虽然每个服务帐户都有一个免费配额,但它最终归创建它的普通用户所有,标准用户配额限制和费用可能适用于该用户。

【讨论】:

我发现我现在有一些材料要阅读。我承认我读了你的回答,但由于我的无知,我认为这不是一个正式的过程,就像未来不确定的事情。现在我更好地阅读它,观看了视频,我意识到它是官方的,它看起来真的适合我的应用程序。感谢您的建议,我将在下周尝试第一个选项并在这里写下反馈。 你并不孤单。所有 Google 文档都描述了用于最终用户身份验证的 OAuth,可能是因为它是更困难的用例。然后,通过留下服务帐户是服务器访问的唯一机制的印象,情况变得更糟。如果您有任何问题,请随时联系我。 成功了!非常感谢 Pinoyyid,你保存了我的项目!

以上是关于Google Drive API - 服务帐户存储限制 - 替代方案的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google 服务帐户通过 Activity API 检索 Google Drive 活动?

Google Drive API Python 服务帐户示例

如何通过 Google Drive .NET API v3 使用服务帐户访问 Team Drive

使用服务帐户的Google Drive API问题

使用服务帐户上传 Google Drive 总是返回 403(存储配额)

Drive API 上的服务帐户已达到存储限制