2012-03-01 31 views
23

Tôi đã xem mẫu Amazon S3 và các mẫu có sẵn để chèn/xóa ...Tôi có thể cập nhật đối tượng Amazon S3 hiện có không?

Nhưng tôi muốn cập nhật một đốm màu hiện có bằng dữ liệu mới. Về cơ bản nội dung là một tệp văn bản và văn bản đã được sửa đổi, tôi muốn đối tượng S3 lưu trữ nội dung văn bản mới.

Làm cách nào để làm điều này trong Java?

Trả lời

24

Cập nhật đối tượng hiện có trong Amazon S3 không khác với việc tạo nó ở vị trí đầu tiên, tức là hoạt động PUT Object rất giống nhau được sử dụng để tải lên đối tượng và ghi đè lên đối tượng hiện có (nếu nó không được bảo vệ bằng phương tiện khác , ví dụ như thông qua Using Bucket Policies hoặc Object Versioning)

Bạn có thể tìm thấy một mẫu mã hoàn chỉnh trong Upload an Object Using the AWS SDK for Java, phần chính nắm tới:

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

gì Steffen cũng được nói là không có 'một phần blob' cập nhật. Bạn cần tải lên toàn bộ bản sao mới của tệp. –

Các vấn đề liên quan