Как скопировать файлы из корзины S3 из одного региона в другой, используя aws java sdk? - PullRequest
0 голосов
/ 30 января 2020

У нас есть два региона в AWS, где в каждом регионе есть AWS S3 Bucket. Как мне скопировать файлы внутри корзины из одного региона в другой, используя AWS Java SDK?

У нас нет доступа к учетным данным корзины исходного региона, но у нас есть предопределенный URL-адрес для источник каждого файла в области исходного региона, с помощью которого мы можем загрузить файл и затем использовать AWS Загрузить URL-адрес, чтобы загрузить его в область целевого региона.

При загрузке файла существуют ограничения по пространству, поэтому мы пытаемся найти способ скопировать файлы из одного региона в другой, используя AWS Java SDK. это достижимо?

Редактировать:

Для большей ясности оба блока уже созданы, и это непрерывный процесс, который должен быть реализован как часть нашего кода. Это не разовое занятие.

1 Ответ

1 голос
/ 30 января 2020

Как правило, копирование между группами легко. Команда CopyObject() может копировать объекты между группами (даже группами в разных регионах и разных учетных записях) без необходимости загружать / выгружать файлы.

Однако, поскольку у вас есть доступ к файлам только через предварительно подписанные файлы. URL, вам потребуется:

  • Скачать каждый файл по отдельности
  • Загрузить каждый файл в целевое хранилище Amazon S3 с помощью команды PutObject() в AWS SDK для Java

Лучше всего это сделать на экземпляре Amazon EC2 в регионах источника или назначения.

Было бы намного лучше, если бы владелец корзины источника мог предоставить вам «нормальный» доступ к объектам, чтобы вы могли использовать CopyObject() или, если они смогли скопировать объекты в ваше ведро для вас.

...