2014-11-24 8 views
2

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

ответ

3

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

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

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

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

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

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

+0

Итак, когда мы создаем правила жизненного цикла, amazon уведомляет наш сервер, когда файл перемещается на ледник и возвращает его идентификатор. Как мы можем получить идентификатор перемещенного архива в хранилище? –

+2

Нет уведомления, когда объекты перемещаются между Amazon S3 и ледником Амазонки из-за правил жизненного цикла. Класс хранения объекта Amazon S3 изменен на «Glacier», что указывает на то, что содержимое было перемещено из S3 и доступно с помощью Glacier (например, с помощью команды «Initiate Restore»). Объект остается в S3 (кроме его содержимого), поэтому он сохраняет существующее имя ключа (которое является его идентификатором). Вы не можете напрямую обращаться к данным, перемещенным из S3 в Glacier - вы должны восстановить его на S3, а затем получить доступ к нему с S3. –