Como faço para listar arquivos no Amazon Glacier?

7

Eu sou novo no Amazon Glacier. Eu criei um cofre com sucesso e carreguei alguns arquivos. No console de gerenciamento, só consigo ver o nome do cofre e que ele contém 4 arquivos, ocupando 4,2 GiB. Mas simplesmente não consigo encontrar uma maneira de listar os arquivos no cofre. Posteriormente, preciso excluir os arquivos como contendo dados incorretos.

Procurei e pesquisei por mais de uma hora, mas ainda não vejo como listar o conteúdo de um cofre.

    
por marlar 14.02.2013 / 22:18

2 respostas

4

Os dados do Amazon Glacier não são realmente destinados a serem acessados por capricho. Leva um tempo considerável para extrair dados de um cofre.

Eu recomendaria o uso do CloudBerry Explorer. É grátis e na maior parte parece funcionar.

Após a instalação, você precisará adicionar sua conta do Glacier.

CliqueduasvezesemNovacontaeadicioneumnomedeexibição(podeseroquevocêquiser):

Para pegar seu acesso e chaves secretas, navegue até link ou clique no nome da sua conta e selecione Credenciais de segurança.

Copieecoleositensnanovacontaelávaivocê.AgoracliquecomobotãodireitonoseucofreecliqueemObterinventário.Esperealgumashoraseaproveite.

    
por 15.02.2013 / 00:00
1

Dentro do painel do console AWS, não há como obter o conteúdo de um cofre. Você precisa usar um SDK ou um software pré-embalado para acessar essas informações. Na minha resposta, estou usando o PHP SDK v3 com o Composer, embora esse código possa ser adaptado para outras linguagens como o Java. A chave é usar a função da API InitiateJob com o tipo definido como inventory-retrieval . O código a seguir precisará ser modificado para se adequar ao seu caso específico.

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'));

A última linha acima imprimirá um ID de trabalho na linha de comando. Ainda estou esperando meu trabalho terminar, mas pretendo usar o seguinte código para obter o inventário do Vault:

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

Você pode ler sobre o initiateJob em Documentação da AWS

    
por 08.09.2015 / 21:46