Как мне перечислить архивы в Amazon Glacier?

6525
marlar

Я новичок в Леднике Амазонки. Я успешно создал хранилище и загрузил несколько архивов. В консоли управления я вижу только имя хранилища, и оно содержит 4 архива, занимающих 4,2 ГБ. Но я просто не могу найти способ перечислить архивы в хранилище. Впоследствии мне нужно удалить архивы, так как они содержат неверные данные.

Я искал и гуглил больше часа, но все еще не вижу способа перечислить содержимое хранилища.

7
Альтернативный способ использования Glacier - вместо этого загрузить свои файлы в корзину S3 и настроить политику жизненного цикла объекта, которая заставляет файлы в S3 автоматически переходить в Glacier через заданное количество дней. Эти файлы S3 класса хранилища ледников по-прежнему будут отображаться как объекты в корзине S3, поэтому работать с ними легко. Если вы действительно хотите прочитать один из файлов, вы можете инициировать «восстановление» из Glacier, которое преобразует их обратно в обычный объект S3 на указанное количество дней. thenickdude 7 лет назад 0

2 ответа на вопрос

4
Tanner Faulkner

Данные Amazon Glacier на самом деле не предназначены для доступа к прихоти. Для извлечения данных из хранилища требуется значительное время.

Я бы порекомендовал использовать CloudBerry Explorer. Это бесплатно и, по большей части, похоже, работает.

После установки вам необходимо добавить свою учетную запись Glacier.

enter image description here

Дважды щелкните «Новая учетная запись» и добавьте отображаемое имя (может быть любым):

enter image description here

Чтобы получить доступ и секретные ключи, перейдите по адресу https://portal.aws.amazon.com/gp/aws/securityCredentials или щелкните имя своей учетной записи и выберите «Учетные данные безопасности». enter image description here

Скопируйте и вставьте их в новую учетную запись, и все готово. Теперь щелкните правой кнопкой мыши по вашему хранилищу и нажмите Get Inventory. Подождите несколько часов и наслаждайтесь. enter image description here

1
Parag

Inside the AWS console panel, there is no way to get the contents of a vault. You have to use an SDK or pre-packaged software to access this information. In my answer, I am using the PHP SDK v3 with Composer though this code can be adapted to other languages like Java. The key is to use the InitiateJob API function with Type set to inventory-retrieval. The following code will need to be modified to suit your particular case.

require('/Users/Parag/Tetragy/vendor/autoload.php'); use Aws\Glacier\GlacierClient; $glacierClient = GlacierClient::factory(array('profile' => 'default', 'region' => 'us-east-1', 'version' => '2012-06-01')); print $result = $glacierClient->initiateJob(array('jobParameters' => array('InventoryRetrievalParameters' => array('StartDate' => '2015-09-01T00:00:00Z', 'EndDate' => '2015-09-10T00:00:00Z'), 'Type' => 'inventory-retrieval'), 'vaultName' => 'MYVAULTNAME')); 

The last line above will print a Job ID to the command line. I'm still waiting for my job to finish though I plan to use the following code to get the vault inventory:

print $result = $glacierClient->getJobOutput(array('jobId' => 'MYJOBIDHERE', 'vaultName' => 'MYVAULTNAME')); 

You can read about the initiateJob in AWS Documentation

Похожие вопросы