23
我在看亞馬遜S3樣品,並且樣品在那裏用於插入/刪除...我可以更新現有的Amazon S3對象嗎?
但我想用新數據更新現有的斑點。基本上內容是一個文本文件,並且文本已被修改,我希望S3對象存儲新的文本內容。
如何在Java中執行此操作?
我在看亞馬遜S3樣品,並且樣品在那裏用於插入/刪除...我可以更新現有的Amazon S3對象嗎?
但我想用新數據更新現有的斑點。基本上內容是一個文本文件,並且文本已被修改,我希望S3對象存儲新的文本內容。
如何在Java中執行此操作?
更新Amazon S3中的現有對象與創建它並沒有什麼不同,也就是使用非常相同的PUT Object操作上載對象並覆蓋現有對象(如果它沒有被其他方式保護) ,例如通過Using Bucket Policies或Object Versioning)
你可以找到Upload an Object Using the AWS SDK for Java一個完整的代碼示例中,主要部分歸結爲:
AmazonS3 s3client = new AmazonS3Client(new PropertiesCredentials(
S3Sample.class.getResourceAsStream(
"AwsCredentials.properties")));
try {
System.out.println("Uploading a new object to S3 from a file\n");
File file = new File(uploadFileName);
s3client.putObject(new PutObjectRequest(
bucketName, keyName, file));
} catch (AmazonServiceException ase) {
System.out.println("Caught an AmazonServiceException, which " +
"means your request made it " +
"to Amazon S3, but was rejected with an error response" +
" for some reason.");
// ... error handling based on exception details
}
什麼斯特芬也說的是,沒有「局部斑點」更新。您需要上傳文件的全部新副本。 – 2012-03-06 19:33:36