Существует принципиальная разница между S3 и Glacier.Основная концепция Glacier - хранить долгосрочные файлы для резервных копий.S3 быстрый доступ.Но Glacier для сохранения файлов в течение длительного времени редко получает доступ.Так что для пользователя полезно делать резервные копии, где вы хотите сохранять файлы, но редко извлекаете их, если не возникает чрезвычайной ситуации.Таким образом, цена на получение файла дороже, чем его сохранение.Я не уверен, почему вы хотите сохранять видео в Glacier, но будьте уверены, что скорость поиска Glacier медленная, и для сохранения изображений / видео вы можете считать S3 ледником.Ниже приводится ответ на ваш ответ
Да, вы делаете правильно, и это то, как вы должны это сделать.
Этоэто немного сложно.Вы должны использовать базу данных, чтобы сохранить все полученные идентификаторы.Так что позже вы можете легко получить.Это означает, что вместо того, чтобы иметь какой-либо каталог, вы можете сохранить всю информацию в базе данных, чтобы позже вы могли ее извлечь.
id="return my job id", # save it to database
action="ArchiveRetrieval",
archive_id="return my archive id", # better save in relation table of archives
archive_size=24,
completed=true,
completed_at=2019-03-05 19:49:36 UTC,
created_at=2019-03-05 15:55:29 UTC,
inventory_size=0,
description=nil,
tree_hash="xxxxxx",
sns_topic=nil,
status_code="Succeeded",
status_message="Succeeded",
vault_arn="xxxxxxxxxx:vaults/myvalutname",
format=nil,
type=nil
Таким образом, это означает, что при всех выгрузках у вас будут следующие поля в БДполучить доступ назад.
Для извлечения файлов вы должны использовать свою базу данных и получить все.Теперь просто используйте свой идентификатор объекта, чтобы получить свой файл.
archive_id - id - description
return my archive id - return my job id - my first archive
Если вы хотите создать список файлов, просто запустите записи базы данных ActiveRecord, чтобы получить его и связать таким образом, чтобы действиеможно получить эти файлы, используя идентификатор объекта.