使用存储类RRS上载multipart blob

时间:2017-11-07 10:34:55

标签: amazon-s3 jclouds

现在,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);
    }
}

1 个答案:

答案 0 :(得分:0)

jclouds 2.1.0将改进对S3中存储类的支持,并增加对可移植抽象的支持。您是否可以针对2.1.0-SNAPSHOT进行测试并针对JCLOUDS-1337报告任何问题?