Я разрабатываю приложение, используя Amazon S3 и glacier для хранения файлов. Требование заключается в том, что я хочу переместить файлы с S3 на ледник, а при необходимости — с ледника обратно на S3. Мой вопрос заключается в том, действительно ли это возможно с их PHP API или нет?
Вы можете использовать API для определения правил жизненного цикла, которые архивируют файлы из Amazon S3 в Amazon Glacier, и вы можете использовать API для получения временной копии файлов, заархивированных в Glacier. Однако вы не можете использовать API, чтобы сообщить Amazon S3 о перемещении конкретные файлы в ледник.
Есть два способа использования Amazon Glacier:
Подключение напрямую через Glacier API позволяет хранить архивы для длительного хранения, часто используемые в качестве замены ленты. Данные, хранящиеся с помощью Glacier API, также должны быть получены с помощью Glacier API. Обычно это делается с помощью обычного корпоративного программного обеспечения для резервного копирования или даже таких легких продуктов, как Cloudberry Backup (Windows) или Арк (Mac).
Использование правил жизненного цикла Amazon S3 позволяет хранить данные в Amazon S3, а затем определять правила, которые определяют, когда данные должны быть заархивированы в Glacier для длительного хранения. Например, данные могут быть заархивированы через 90 дней после создания. Передача данных регулируется правила жизненного цикла, которые работают на ежедневной основе. Правила могут быть установлены через вызов API putBucketLifecycle (доступно в PHP SDK), но это только определяет правила — невозможно сделать вызов API, который говорит S3 архивировать определенные файлы в Glacier.
Amazon S3 имеет Вызов API RestoreObject (доступно в PHP SDK) для восстановления временной копии данных, заархивированных из Glacier, обратно в S3. Обратите внимание, что восстановление данных из Glacier занимает 3-5 часов.
Других решений пока нет …