因此Google Storage具有出色的API,可用于可恢复的上传:https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload,我想利用该API上传多个块中的大对象。但是,这是在流处理管道中完成的,其中流中的字节总数事先未知。
根据API的文档,您应该使用Content-Range
标头来告知Google Storage API您已完成文件的上传,例如:
PUT https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable&upload_id=xa298sd_sdlkj2 HTTP/1.1
Content-Length: 1024
Content-Range: bytes 1023-2048/2048
[BYTES 1023-2048]
如果我了解它是如何正常工作的,则bytes 1023-2048/2048
标头中的Content-Range
值就是Google存储空间确定您要上传的最后一块数据,并且可以成功完成可恢复数据的操作完成后上传会话。
但是对于我来说,总流大小是未知的,因此我需要继续上传,直到没有更多数据要上传为止。有没有一种使用Google Storage API做到这一点的方法?理想情况下,我希望以某种方式手动告诉API“嘿,我完成了,不要再期望我收到任何其他数据了。”