Java 8 здесь. У меня S3 bucket (myapp-bucket
) со следующей структурой папок:
/artwork
/upload
/staging
Вот как выглядит папка myapp-bucket/artwork
:
![enter image description here](https://i.stack.imgur.com/eknBl.png)
У меня есть программное обеспечение, которое загружает файлы изображений в папку /upload
, а затем другое приложение, которое я пишу, должно обработать это изображение и скопировать его в папку /staging
. Код, который я должен выполнить для этой копии S3, выглядит следующим образом:
CopyObjectRequest copyObjectRequest = new CopyObjectRequest(
bucketName,
objectKey,
destinationBucket,
destinationKey
);
log.info(
"copying object from s3://{}/{} to s3://{}/{}",
bucketName,
objectKey,
destinationBucket,
destinationKey
);
// Constructed via
AmazonS3 amazonS3 = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).build();
amazonS3.copyObject(copyObjectRequest);
Когда это запускается, я вижу следующий вывод журнала, который я вижу:
[main] DEBUG com.me.myapp.ImageProcessor - copying object from s3://myapp-bucket/artwork/upload/rlj_amp244001_270.jpeg to s3://myapp-bucket/artwork/staging
Но конечное состояние папки myapp-bucket/artwork
выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/lbunA.png)
Похоже, вместо копирования myapp-bucket/artwork/upload/<theImageFile>
в каталог myapp-bucket/artwork/staging/
создается новый файл непосредственно в /artwork
с именем staging
и вероятным копированием двоичного содержимого. изображения в этот промежуточный файл. Куда я иду наперекосяк ?! Я просто хочу закончить с myapp-bucket/artwork/staging/<theImageFile>
- заранее спасибо!