Объект копирования AWS Java SDK 2 S3 - PullRequest
1 голос
/ 19 июня 2019

В SDK версии 1 сделать запрос на копирование было просто:

new CopyObjectRequest(sourceBucket, sourceKey, destinationBucket, destinationKey)

В SDK версии 2 Builder для CopyObjectRequest не имеет четкого способа задания источникапротив пункта назначения.Существует метод copySource(copySource), который принимает полный путь, но не существует очевидного способа установить целевую корзину или ключ назначения или установить исходную корзину и ключ источника нормально (без создания полного пути и работы с кодировкой URL).

Их новые примеры S3 просто не учитывают, как работает новая копия, и у их JavaDoc для CopyObjectRequest нет реальной информации для этого.

Ответы [ 2 ]

1 голос
/ 19 июня 2019

У них есть довольно хороший пример здесь, на Github: https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/s3/src/main/java/com/example/s3/CopyObject.java

0 голосов
/ 19 июня 2019

Теперь он следует шаблону компоновщика, поэтому прочтите документацию для CopyObjectRequest.Builder для получения более подробной информации.

Вот базовый пример:

s3.copyObject(CopyObjectRequest.builder()
                                 .copySource(SOURCE_BUCKET_NAME + "/" + SOURCE_KEY)
                                 .bucket(DESTINATION_BUCKET_NAME)
                                 .key(DESTINATION_KEY)
                                 .build());
...