好的,我有一个使用亚马逊s3多部件的应用程序,它们使用CreateMultipart、UploadPart和CompleteMultiPart。
现在,我们正在迁移到谷歌云存储系统,我们在多部件方面遇到了问题。据我所知,谷歌不支持s3多部件,从这里得到了Google Cloud Storage support of S3 multipart upload的信息。
所以我发现google有最接近的合成https://cloud.google.com/storage/docs/composite-objects的方法,我只是上传不同的对象,然后发送请求来组合它们,或者我可以使用uploadType=multipart https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload#resumable,但是这似乎与s3多部分完全不同。还有可恢复的上传https://cloud.google.com/storage/docs/resumable-uploads,这似乎允许上传文件块,但没有完整的多部分。
:什么是最好的选择?有些服务已经使用了CreateMultiPart、UploadPart、CompletePart和我需要为这些服务编写“适配器”,以便使它们与google云存储兼容。
发布于 2020-04-29 16:47:14
更新:下面的答案不再是正确的。GCS确实支持多部分上传:https://cloud.google.com/storage/docs/xml-api/post-object-multipart
你是对的。目前不支持多部分上传。
多部分上传的主要好处是允许多个流从一台或多台机器并行上传,并且允许部分上传失败不会破坏整个上传。GCS获得同样好处的最佳方法是将部分作为单独的对象上传,然后使用Compose将它们组合成最终的对象。实际上,这正是gsutil命令行实用程序在并行上传时所做的。
如果您想要按顺序将单个对象上传到单个流中,那么Resumable上载是一个很好的工具,并且您希望在连接丢失时能够恢复。
"uploadtype=multipart“上传有点不同。它们是一种使用HTTP多部分请求在单个上载操作中指定对象的完整元数据及其数据的方法。
https://stackoverflow.com/questions/61499378
复制相似问题