Возникла проблема с созданием дубликата файла при копировании файла из подпапки s3 bucket в другую подпапку с использованием java? - PullRequest
1 голос
/ 10 января 2020

Возникла проблема с созданием дубликата файла при копировании файла из подпапки s3 bucket в другую подпапку с использованием java.

Я пытаюсь скопировать файл из подпапки s3 bucket в другую подпапку, используя java.

Мое имя s3 bucket test, а внутри test bucket У меня есть подпапки test123/teast1234, который содержит input.txt файл. путь выглядит следующим образом: test/test123/test1234/input.txt

Я хочу переместить файл input.txt в

 test/test123/test1234/ test12345/input.txt

Я попробовал следующий код:

s3client.copyObject(bucketName, objectKey, bucketName + "/test/test123/test1234/ test12345/", objectKey);
s3client.deleteObject(bucketName, objectKey);

, но он создает структура папок, как показано ниже: /test/test123/test1234/test123/test1234/ test12345/ дублирующая структура папок

, пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 10 января 2020

Это ваш код с комментариями, добавленными для ясности:

s3client.copyObject(
    bucketName,     // Source bucket name
    objectKey,      // Source key
    bucketName + "/test/test123/test1234/ test12345/", // Destination bucket name
    objectKey       // Destination key
);

Почему вы добавляете эту строку в имя целевого сегмента?

Правильный код будет выглядеть примерно так:

String bucketName     = "test";
String objectKey      = "/test123/test1234/input.txt";
String destinationKey = "/test123/test1234/test12345/input.txt";

// Copy the object to the new path
s3client.copyObject(
    bucketName,     // Source bucket name
    objectKey,      // Source key
    bucketName,     // Destination bucket name
    destinationKey  // Destination key
);

// Delete the object at the old path
s3client.deleteObject(bucketName, objectKey);
...