Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 谷歌云存储与aws s3多部分上传的兼容性_Amazon S3_Google Cloud Storage_Aws Sdk_Google Cloud Sdk - Fatal编程技术网

Amazon s3 谷歌云存储与aws s3多部分上传的兼容性

Amazon s3 谷歌云存储与aws s3多部分上传的兼容性,amazon-s3,google-cloud-storage,aws-sdk,google-cloud-sdk,Amazon S3,Google Cloud Storage,Aws Sdk,Google Cloud Sdk,好的,我有一个使用AmazonS3多部分的工作应用程序,它们使用CreateMultipart、UploadPart和CompleteMultiPart 现在我们正在迁移到谷歌云存储,我们有一个多部分的问题。据我所知,谷歌不支持s3多部分,从这里得到信息 所以我看到google有一个最接近的方法Compose,我只是上传不同的对象,然后发送合并它们的请求,或者我可以使用uploadType=multipart,但这似乎与s3 multipart完全不同。还有一种可恢复的上传方式,它似乎允许分块上

好的,我有一个使用AmazonS3多部分的工作应用程序,它们使用CreateMultipart、UploadPart和CompleteMultiPart

现在我们正在迁移到谷歌云存储,我们有一个多部分的问题。据我所知,谷歌不支持s3多部分,从这里得到信息

所以我看到google有一个最接近的方法Compose,我只是上传不同的对象,然后发送合并它们的请求,或者我可以使用uploadType=multipart,但这似乎与s3 multipart完全不同。还有一种可恢复的上传方式,它似乎允许分块上传文件,但不允许完整的多部分上传


最好的选择是什么?一些服务已经使用CreateMultiPart、UploadPart、CompletePart,我需要为这些服务编写“适配器”,以使它们与google云存储兼容。更新:下面的答案不再正确。地面军事系统支持多部分上传:

你说得对。谷歌云存储目前不支持多部分上传

多部分上传的主要好处是允许多个流从一台或多台机器并行上传,并且允许部分上传失败不会破坏整个上传。使用GCS获得这些好处的最佳方法是将这些部分作为单独的对象上传,然后使用Compose将它们组合成最终的对象。实际上,这正是gsutil命令行实用程序在并行上载时所做的

如果您希望按顺序在单个流中上载单个对象,并且希望在连接丢失时能够恢复,那么可恢复上载是一个很好的工具


“uploadtype=multipart”上载有点不同。它们是一种在单个上载操作中指定对象的完整元数据及其数据的方法,使用HTTP多部分请求。

我想知道,如果从一台机器上进行上载,多部分是否有用,因为在部分上载的情况下,带宽可能会在部分上载之间共享,而在直接上载的情况下,单个部分使用的整个带宽可能会共享。所有S3 SDK在上传任何超过几MB的数据时都会在引擎盖下使用multipart。我想知道它是否真的提高了吞吐量,知道吗?事实上,由于TCP的工作,从一台机器并行上传一个对象的多个部分确实经常增加吞吐量。使用GCS可以实现这一点,方法是将多个对象作为单独的对象上传,然后使用
compose
API调用将它们组合成单个最终对象。如果您使用
-m
标志,则
gsutil
命令可以为您的上载执行此操作。谢谢。我应该说相同的客户机/进程,而不是“单机”。但我认为答案是一样的,对吗?在区分“支持”和“作为预览功能提供”时一定要小心。后者在生产系统中使用的风险更大,引用的文章都指出这仍然被认为是一个预览特性,可能支持有限。遗憾的是,这意味着你原来的答案仍然有效。