完結編。vault に保存した archive を取り出してみた。
vault.jobs.create(:type => Fog::AWS::Glacier::Job::ARCHIVE, :archive_id => 'id')
archive_id には 2 で取り出したメタデータの中に含まれているIDを指定する。最初のアーカイブ作成時の戻り値にもあったかも。このジョブも例によって完了まで4時間くらいかかる。ジョブが完了したら
job = vault.jobs.first
File.open('filename', 'w') {|f| job.get_output :io => f }
という形で ruby の File IO を使って書き出す。メモリに収まりきらない場合は File.open 時に range オブジェクトを指定するらしい。
こんな感じで Glacier を一通り使ってみたけど、ファイルを送信して取り出すまでの存在確認すらもジョブを作ってゆっくりと時間をかけて調べるという仕組みなので、ぱっと送信して気になったときに取り出すという使い方は難しそうだなあ。