现在,jcloud提供了使用以下两个存储类在aws s3存储中上传blob的功能: STANDARD 和 RRS 。正如我所看到的那样,当执行分段上传并选择RRS作为存储类时,将使用默认存储类(即STANDARD)上载blob。 例如:
blobStore.putBlob(null,blob,storageClass(ObjectMetadata.StorageClass.REDUCED_REDUNDANCY).multipart())
这将与STANDARD存储类一起上传。 执行多部分时是否有理由忽略选定的存储类? 为什么与RRS不同的一切被认为是标准的?如果我选择STANDARD_IA,则使用的存储类将再次标准。
编辑: 这是上传blob时执行的代码。正如您所看到的,使用multipart排除了RRS存储类。
@Override
public String putBlob(String container, Blob blob, PutOptions options) {
if (options.isMultipart()) {
return putMultipartBlob(container, blob, options);
} else if ((options instanceof AWSS3PutOptions) &&
(((AWSS3PutOptions) options).getStorageClass() == REDUCED_REDUNDANCY)) {
return putBlobWithReducedRedundancy(container, blob);
} else {
return super.putBlob(container, blob, options);
}
}
答案 0 :(得分:0)
jclouds 2.1.0将改进对S3中存储类的支持,并增加对可移植抽象的支持。您是否可以针对2.1.0-SNAPSHOT进行测试并针对JCLOUDS-1337报告任何问题?