在Amazon S3存储桶中启用版本控制

时间:2011-10-10 17:49:35

标签: java amazon-s3

我正在尝试使用Java启用Amazon S3存储桶的版本控制。但是,我无法做到。我得到了一个例外

异常状态代码:400,AWS请求ID:DC53C8220CEC7D4C,AWS 错误代码:MalformedXML,AWS错误消息:您提供的XML格式不正确或未针对我们发布的架构进行验证,S3扩展请求ID:qAdibjSkoFltjoYTFZSdTOnh8JXwZrxkjgrTcgaXqZYGIgVdbRxr8VXzwkO4ilaG

有人可以指出代码中的错误。我附加了负责启用存储桶版本控制的代码部分。

public void enableVersioning(String bucketName) {
    SetBucketVersioningConfigurationRequest request = 
        new SetBucketVersioningConfigurationRequest(bucketName, 
        new BucketVersioningConfiguration("ENABLED"));
    AmazonS3 s3 = new AmazonS3Client(credentials);   // I have the credentials
    s3.setBucketVersioningConfiguration(request); 
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

它们应该是相同的,但如果我是你,我会使用BucketVersioningConfiguration.ENABLED而不是字符串文字。如果您认为代码过于混乱,请执行import static。 (谁知道,它甚至可能神秘地修复你的问题)

我自己也做了很多,但它确实有效,这是我能找到的唯一区别。