首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高文件到google存储的上传速度?

如何提高文件到google存储的上传速度?
EN

Stack Overflow用户
提问于 2017-04-19 06:59:35
回答 1查看 2K关注 0票数 2

我已经实现了javascript代码,可以将多块文件上传到google云存储。

下面是我执行上传文件的流程: 1.用户选择使用javascript客户端web应用程序{request来自亚洲地区}2上载文件。2. javascript客户端应用程序请求到我们在Nodejs {托管在google云的计算引擎- US region}中实现的应用服务器,以允许文件上载{授权}2。NODEJS App服务器向客户端应用程序3返回一个签名命令。客户端应用程序开始使用签名的url 4将文件以多块的形式上载到google存储。

我可以多块上传文件,,但我注意到,如果我在google区域托管nodejs应用服务器,而不是在执行客户端应用程序请求的同一台机器上托管,那么上传速度要慢2-3倍。

如果您有解决方案,请告诉我如何提高上传性能。

google签名-url文档中提到了一些解决办法:

可恢复的上传被固定在他们开始的区域。例如,如果您在美国创建了一个可恢复的上传URL,并将其提供给亚洲的客户端,则该上载仍然要经过美国。在未启动的区域执行可恢复的上载会导致缓慢的上载。为了避免这种情况,您可以让服务器构建并签名初始POST请求,但将签名的URL提供给客户端,以便从它们的位置开始上传。一旦启动,客户端通常可以使用生成的会话URI来发出不需要签名的PUT请求。

但有了这一提法:

  1. 我找不到任何代码示例:一旦客户端从服务器接收到签名的url,如何构造初始的JSON调用?
  2. 第一次呼叫的预期响应是什么?以及如何提取会话URI。
  3. 如何使用会话URI上载更多的块?
EN

回答 1

Stack Overflow用户

发布于 2017-04-19 20:17:28

您可能混淆了两个单独的GCS功能。GCS允许以两种方式将可恢复的上传授权给没有凭据的第三方。

首先,和首选,是签名的URL。您将向客户端发送一个签名的URL,该客户端将允许该客户端开始可恢复的上载。

第二,由于上面提到的区域固定,所以不太喜欢的是让服务器启动一个可恢复的上载本身,然后将上传ID传递给客户端。

听起来你想要的是第一件事,但你用的是第二件。

使用签名URL需要使用XML,它以与JSON类似的方式处理可恢复的上载:https://cloud.google.com/storage/docs/xml-api/resumable-upload

您将需要对第一个POST调用进行签名,以创建一个上传,并将该URL传递给用户自己调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43488639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档