我可以使用Google云端存储签名网址进行可恢复上传吗?

Ben*_*son 10 upload google-cloud-storage

使用Google云端存储,我想向客户端提供必要的信息以进行可恢复的上传.这可能吗?

Ben*_*son 10

是的,这是可能的.

对于已通过云存储服务验证的服务器以及希望授予其访问权限的客户端,典型的签名URL上载工作流如下所示:

  1. 客户端请求签名,以便它可以执行PUT
  2. 您的服务器URL使用此处描述的方法创建并返回签名
  3. 客户端使用返回的PUT执行PUT URL

可恢复的工作流程如下所示:

  1. 客户端请求签名,以便它可以执行PUT
  2. 您的服务器确实URL使用此处描述的方法创建并返回签名
  3. 您的服务器发出POST请求以启动可恢复上载,如此处所述
  4. 您的服务器返回URLUpload ID客户端
  5. 客户端使用提供的URL和执行一个或多个PUTUpload ID


d_i*_*ble 6

我刚刚在这里文档中找到了这个注释:

注意:如果您的用户仅将资源(写入)上传到访问控制的存储桶,则可以使用Google云端存储的可恢复上传功能,并避免签名网址或要求使用Google帐户.在可恢复的上传方案中,您的(服务器端)代码会对Google Cloud Storage进行身份验证并启动上传,而无需实际上传任何数据.启动请求返回上载ID,然后可以在客户端请求中使用上载ID来上载数据.客户端请求不需要签名,因为上载ID实际上充当身份验证令牌.如果选择此路径,请确保通过HTTPS传输上载ID.

所以基本上你不需要签名的网址.上传ID就足够了.程序如下:

  1. 客户端请求上传,以便它可以执行PUT
  2. 您的服务器发出POST请求以启动可恢复上载.
  3. 您的服务器将上传ID返回给客户端.
  4. 客户端使用提供的上载ID执行PUT上传文件.

  • 这在文档中不再存在。我在[另一页](https://cloud.google.com/storage/docs/access-control/signed-urls#signing-resumable)中发现的是“可恢复上传固定在它们开始的区域。[ ...] 例如,如果您在美国创建可续传上传 URL 并将其提供给亚洲的客户端,则上传仍会经过美国。[...] 要避免这种情况,请构建初始 POST 请求并由服务器签名,然后将签名的 URL 提供给客户端,以便从其位置启动上传。 (2认同)