Amazon Перемещение файлов из S3 в Glacier через API

Я разрабатываю приложение с использованием Amazon S3 и glacier для хранения файлов. Требование состоит в том, что я хочу переместить файлы из S3 в ледник, а при необходимости из ледника обратно в S3. Мой вопрос в том, действительно ли это возможно с их PHP API или нет?


person Aleem Ahmad    schedule 24.11.2014    source источник


Ответы (1)


Вы можете использовать API для определения правил жизненного цикла, которые архивируют файлы из Amazon S3 в Amazon Glacier, и вы можете использовать API для извлечения временной копии файлов, заархивированных в Glacier. Однако вы не можете использовать API, чтобы указать Amazon S3 переместить определенные файлы в Glacier.

Amazon Glacier можно использовать двумя способами:

  1. Непосредственно через Glacier API, который позволяет загружать / скачивать архивы в / из хранилищ Glacier.
  2. С помощью правил жизненного цикла Amazon S3, которые архивируют данные из Amazon S3 в Amazon Glacier.

Подключение напрямую через Glacier API позволяет хранить архивы для долгосрочного хранения, которое часто используется в качестве замены ленты. Данные, хранящиеся через Glacier API, также должны быть получены через Glacier API. Обычно это делается с помощью обычного корпоративного программного обеспечения для резервного копирования или даже легких продуктов, таких как Cloudberry Backup. (Windows) или Arq (Mac).

Использование правил жизненного цикла Amazon S3 позволяет хранить данные в Amazon S3, а затем определять правила, определяющие, когда данные должны быть заархивированы в Glacier для долгосрочного хранения. Например, данные могут быть заархивированы через 90 дней после создания. Передача данных регулируется правилами жизненного цикла < / strong>, которые работают на ежедневной пакетной основе. Правила можно установить с помощью вызов API putBucketLifecycle (доступен в PHP SDK), но это только определяет правила - невозможно сделать вызов API, который сообщает S3 заархивировать определенные файлы в Glacier.

Amazon S3 имеет Вызов API RestoreObject (доступный в PHP SDK) для восстановления временной копии данных, заархивированных из Glacier, обратно в S3. Обратите внимание, что восстановление данных из Glacier занимает 3-5 часов.

person John Rotenstein    schedule 24.11.2014
comment
Поэтому, когда мы создаем правила жизненного цикла, Amazon уведомляет наш сервер, когда файл перемещается на ледник, и возвращает его идентификатор. Как мы можем получить идентификатор перемещенного архива в хранилище? - person Aleem Ahmad; 24.11.2014
comment
Уведомление о перемещении объектов между Amazon S3 и Amazon Glacier отсутствует из-за правил жизненного цикла. Класс хранилища объекта Amazon S3 изменяется на Glacier, что указывает на то, что контент был перемещен из S3 и доступен из Glacier (например, с помощью команды «Инициировать восстановление»). Объект остается в S3 (за исключением его содержимого), поэтому он сохраняет свое существующее имя ключа (то есть его идентификатор). Вы не можете напрямую получить доступ к данным, перемещенным с S3 на Glacier - вы должны восстановить их на S3, а затем получить к ним доступ с S3. - person John Rotenstein; 24.11.2014