【问题标题】:Unattended download from Google Cloud Storage or Google Drive从 Google Cloud Storage 或 Google Drive 进行无人值守下载
【发布时间】:2015-08-21 13:12:56
【问题描述】:

一、系统架构: 服务器:运行 IIS ASP 并根据来自这些客户端的自动请求将数据传送到现场的一百多个 WinXP+ 客户端。从服务器发送的数据是大型图形或视频文件。如果用户将文件放在服务器上,这些远程客户端将“发现”它并下载该文件。

客户端:如上所述,客户端是从服务器获取内容的远程无人值守盒子。最终目的是数字标牌。

问题:所有客户端同时访问服务器会导致大文件传输缓慢 - 带宽不足。

解决方案(我认为):使用 Google Cloud Storage 或 Google Drive 来保存文件并让客户请求(自动和无人值守)这些文件。我认为 Google 会有更高的可用带宽(至少 NSA 是这么认为的)。

问题: Google Cloud Storage 和 Google Drive 之间哪个更好?

是否可以使用 Windows PowerShell 或 WScript 来运行脚本以与 Google 交互?原因是我需要避免在客户端机器上安装可能需要用户交互的新软件。

【问题讨论】:

    标签: google-drive-api google-cloud-storage


    【解决方案1】:

    是的,只要您可以 urlfetch https 数据,您就可以使用 powershell。 oauth 流程可能很难开始工作,请按照已安装应用程序的示例进行操作。 100% 使用云存储而不是驱动器。 Drive 不适合同时下载并具有多个配额,因此您需要使用 drive 实现指数退避等。

    【讨论】:

    • TNX - 云存储确实似乎是最强大的解决方案。我只需要能够在客户端做到这一点,而不需要在那端的键盘上的人(没有键盘,没有鼠标,没有人)
    • 这是可能的,除非您第一次需要从浏览器授权。一旦你有了 oauth 令牌,就没有人机交互了。解释如何超出这个问题范围,看看如何做oauth2.0
    • TNX Zig - 在大多数情况下,在我的情况下,一开始的人机交互是不可能的。一些客户端计算机被埋在多年未见人的机架中。他们只是继续运行。不过,有些可以通过远程桌面访问,所以我可以对它们进行授权。前几天我第一次使用 Google Cloud 时遇到了你提到的授权挑战。不知何故,需要弄清楚如何编写响应脚本......
    • 对于授权部分,只需创建一个带有公共(但很难猜到)url 的 appengine,并让该 url 为您提供所需的数据(如列表或云存储的 url,其中也将获得公共许可)。
    • 对不起,这花了将近 2 年的时间才回来发表评论以结束它。事情在发展,但问题依然存在。
    【解决方案2】:

    是的,您可以使用云端硬盘或云存储。我会选择云端存储,因为:-

    1. 它是免费的,Cloud Storage 会收费,所以您不必担心信用卡过期
    2. 编程更容易,因为它是一个简单的 http GET 来检索您的文件
      1. 您需要考虑您的安全模型。使用云端硬盘,您可以(注意不应该)将文件公开。如果您的客户可以获知该 URL,则无需担心 OAuth。如果您需要更好的安全性,请在每个客户端上安装刷新令牌。在每次下载之前,您的客户端将调用 Google 以将刷新令牌转换为访问令牌。我建议从没有 OAuth 的原型开始。然后,如果 (a) 它适合,并且 (b) 您需要更高的安全性,请添加 OAuth。
    3. Drive Web 应用程序为您提供可下载文件的管理控制台。如果您使用 Cloud Storage,则需要自己编写。

    这里讨论了配额问题Google Drive as a video hosting/streaming platform? 由于没有记录配额,我们只能猜测限制是什么。它似乎是给定文件的带宽,因此文件越大,下载次数越少。一个简单的解决方法是使用复制 API https://developers.google.com/drive/v2/reference/files/copy 制作文件的多个副本。

    您还有其他选择。由于这些只是静态文件,因此您可以将它们托管在 Google 协作平台或 Google App Engine 上。您还可以将它们存储在具有免费配额的 App Engine 数据存储中。

    最后,您甚至可以考虑使用 BitTorrent 方法。

    【讨论】:

    • 我已经更新了我的答案。在进行一些研究时,我看到了有关多兆字节文件的配额相关错误的报告,这可能会影响您的方案。不幸的是,这些配额没有记录在案。
    • TNX - 作为实践,我可能会尝试 Drive,但由于我是一家企业并且需要采用真正的业务解决方案,我怀疑云是我的最终解决方案。也就是说,您的 cmets 以及链接都很有帮助。诚然,其他选项可用(BitTorrent 等)。我的 #1 要求是客户端系统必须能够实现这种“过程更改”,而无需人工操作键盘。我只有有限的几个远程桌面。我可以使用我发送到系统的 BAT 文件做很多事情。
    • 您可以集中生成一个刷新令牌并将其嵌入到您的代码中,这样您的远程客户端就可以进行无需人工的 oauth,这就是您要走的路。
    • 驱动器不是要走的路,你会遇到多个配额,因为驱动器是一种个人服务,配额是为了防止滥用。看我的回答。
    猜你喜欢
    • 2018-06-15
    • 2020-01-11
    • 2017-11-08
    • 2019-06-04
    • 2020-09-30
    • 2019-08-06
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    相关资源
    最近更新 更多