2017-10-29 10 views
0

S3 버킷에 원하는 파일을 여러 개 업로드하면 Java SDK가 사용됩니다. 나는 다음과 같이하고있다.S3 SDK 새 파일을 만드는 대신 업로드 할 때 단일 객체를 업데이트합니다.

@Override 
public void upload() { 
    PutObjectRequest putObjectRequest = new PutObjectRequest(BUCKET_NAME, ACCESS_KEY, new File('myFilePath')); 
    getS3Client().putObject(putObjectRequest); 
} 

문제는 항상 기존 파일을 덮어 쓰는 것이다. 따라서 "myFilePath"매개 변수를 이미지 또는 텍스트로 변경하더라도 새로운 파일을 만들지 않고 기존 파일을 업데이트합니다. 이것은 서로 다른 파일이 아니기 때문에 발생하지 않아야합니다.

기존 파일을 업데이트하지 않고 파일을 만들려면 어떻게해야합니까?

답변

2

PutObjectRequest 생성자의 두 번째 매개 변수는 새 개체를 저장할 키입니다. 모든 요청에 ​​대해 동일한 키 (ACCESS_KEY)를 실수로 전달하고 있습니다.

1

S3 키는 개체의 이름입니다. S3에서 파일의 전체 경로 + 파일 이름입니다. AWS 자격 증명의 일부인 ACCESS_KEY을 (를) 사용하고 있습니다. 해당 매개 변수에 ACCESS_KEY를 전달하면 안되며 객체 키/파일 이름을 전달해야합니다.