OpenStack Swift 多部分上传 jclouds

Posted

技术标签:

【中文标题】OpenStack Swift 多部分上传 jclouds【英文标题】:OpenStack Swift Multi Part Upload jclouds 【发布时间】:2018-09-03 18:55:53 【问题描述】:

我正在使用 jclouds Java SDK 与 OpenStack 资源进行交互,我想作为多部分上传,但我在 SDK 中没有找到如何做到这一点,在示例中我只看到了一种上传多部分的方法,但只是对于 blob,这不是我正在使用的,但对于 OpenStack Swift 则没有 反正有上传多部分到斯威夫特吗? 请记住,我正在使用 PutOptions 类,因此我可以为文件生成元数据 谢谢

【问题讨论】:

【参考方案1】:

jclouds 提供了两个可使用的层:可移植的BlobStore 层和较低级别的提供程序 API。您应该尽可能使用可移植层,并且可以通过以下方式上传分段:

blobStore.putBlob(container, blob, new PutOptions().multipart(true));

如果您需要使用较低级别的提供程序 API 来访问某些其他功能,您可以通过 SwiftApi.getObjectApi.put 上传各个部分,然后通过 SwiftApi.getStaticLargeObjectApi.replaceManifest 创建 SLO 清单。 jclouds provider guide 有一个如何从ContextBuilder.buildApi 获取SwiftApi 的示例。

【讨论】:

谢谢,是的,我看到了那部分代码,老实说,这是一个误解,因为我认为 blob 存储是 Azure 存储服务,所以我知道它没有任何意义使用 Azure

以上是关于OpenStack Swift 多部分上传 jclouds的主要内容,如果未能解决你的问题,请参考以下文章

使用多部分形式的 Swift IOS 进行流式上传

Swift 上传 UIImage 与多部分形式没有参数

如何上传文件多部分alamofire swift5?

openstack中swift和cinder中的区别

OpenStack之swift安装笔记

OpenStack之swift安装笔记