我使用jclouds Java SDK与OpenStack资源进行交互,我想上传为多部分,但我在SDK中找不到如何做到这一点,在示例中我只看到了一种方法上传multipart但只是为了blob,这不是我正在使用的,但OpenStack Swift没有任何内容
无论如何要将多部分上传到Swift?
请记住,我正在使用类PutOptions
,因此我可以为该文件生成元数据
谢谢
答案 0 :(得分:2)
jclouds提供了两个可用的层:可移植的BlobStore
层和较低级别的提供者API。您应该尽可能使用便携式图层,并可以通过以下方式上传多部分:
blobStore.putBlob(container, blob, new PutOptions().multipart(true));
如果您需要使用较低级别的提供程序API来访问其他一些功能,则可以通过SwiftApi.getObjectApi.put
上传单个部分,然后通过SwiftApi.getStaticLargeObjectApi.replaceManifest
创建SLO清单。 jclouds provider guide举例说明如何从SwiftApi
获取ContextBuilder.buildApi
。