2017-02-06 3 views
1

Как сделать глубокие копии артефактов из одного ведра s3 в другой и сохранить версии, которые существуют для тех же ключей (я знаю плохой дизайн, но с этим я должен работать).Как вы выполняете глубокую копию ведра s3?

+0

Добро пожаловать в переполнение стека! Пожалуйста, отредактируйте свой вопрос, чтобы показать [то, что вы пробовали до сих пор] (http://whathaveyoutried.com). Вы должны включить [mcve] кода, с которым у вас возникают проблемы, тогда мы можем попытаться помочь с конкретной проблемой. Вы также должны прочитать [ask]. –

ответ

1

Это невозможно.

Идентификатор версии версий объектов - это непрозрачный идентификатор, назначенный системой, и предназначен только для чтения.

Для новых развертываний, есть одно исключение (вроде): кросс-область репликации creates identical objects в ведре назначения, в том числе той же версии-ид, как и в исходном ведре, но ...

Amazon S3 не ретроактивно реплицирует объекты, существовавшие до того, как вы добавили конфигурацию репликации.

http://docs.aws.amazon.com/AmazonS3/latest/dev/crr-what-is-isnot-replicated.html

Вам придется перебирать ключи (с помощью версий Список объектов) по отдельности, учитывая версии и удалить маркеры для каждого ключа объекта в хронологическом порядке, копирования и/или удаление (от старых к новым , переписывая каждую более старую версию со следующей новейшей версией до тех пор, пока вы не дойдете до текущей версии) и перекрестно сопоставьте идентификатор версии нового ковша со старым идентификатором версии ведра, где бы вы не сохранили доступные версии, доступными для приложения.