2012-03-01 3 views
23

아마존 S3 샘플을보고 있었는데 샘플이 삽입/삭제 용으로 있습니다. ...기존 Amazon S3 객체를 업데이트 할 수 있습니까?

그러나 기존 데이터를 새 데이터로 업데이트하고 싶습니다. 기본적으로 내용은 텍스트 파일이며 텍스트가 수정되었습니다. S3 객체가 새 텍스트 내용을 저장하기를 원합니다.

Java에서 어떻게합니까?

답변

24

Amazon S3의 기존 객체를 업데이트하는 것은 처음에 객체를 생성하는 것과 다르지 않습니다. 즉, 객체를 업로드하는 데 매우 동일한 PUT Object 작업이 사용되며 기존 객체를 덮어 씁니다 (다른 방법으로 보호되지 않은 경우). 스테 펜도 무슨 말을

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 
} 
+9

더 '부분 덩어리'업데이트가 없다는 것입니다 :에, 당신은 Upload an Object Using the AWS SDK for Java의 전체 코드 샘플을 찾을 수 있습니다

Using Bucket Policies 또는 Object Versioning)를 통해 예, 주요 부분은 요약된다. 파일의 전체 사본을 업로드해야합니다. –