ページ

2012-08-24

Amazon Glacierを操作するコマンドを作成中

Amazon GlacierのVaultやらArchiveやらを操作するコマンドを作っています。

代替できたけど、テストに膨大な時間がかかるので前に公開してしまおうと思います。

この記事の内容は古くなっています。
こちらを参照してください。


Vaultに関する操作はだいたい問題ないと思います。
Archiveに関する操作はよくわかりません。

AwsCredentials.propertiesをコマンドライン引数で指定できるので、複数アカウントでも問題なく使えます。

windows向けのバッチファイルも作成しました。

テストとか終わったら、簡易マニュアルやlinuxのスクリプトも用意したいと思います。

現時点ではコードを読んでもらえるとどんなオプションが有るか分かる程度です。

コードはgithubにおいてあります。

https://github.com/mironal/GlacierTools

jarディレクトリの中にあるものだけでとりあえず動きます。

https://github.com/mironal/GlacierTools/tree/master/jar

使用例としては
java -jar VaultController.jar create vaultname
でvaultnameのVaultを作成できます。

詳細の取得や削除等は以下のコマンドで、
java -jar VaultController.jar describe vaultname
java -jar VaultController.jar list
java -jar VaultController.jar delete vaultname
リージョンを指定したい場合は
java -jar VaultController.jar create vaultname --endpoint eu_west_1
てな感じで指定できます。
endpointはそれぞれ以下の様なリージョンに対応しています
us_east_1 => https://glacier.us-east-1.amazonaws.com
tokyo_1   => https://glacier.ap-northeast-1.amazonaws.com
eu_west_1 => https://glacier.eu-west-1.amazonaws.com
us_west_2 => https://lacier.us-west-2.amazonaws.com
us_west_1 => https://glacier.us-west-1.amazonaws.com
アップロードは以下の様な感じです
java -jar ArchiveController.jar upload --vault vaultname --file filename


そんなこんなで、オプション無しでコマンド打ち込むと簡単なヘルプは出るようにしてあります。

多分色々バグってると思いますので、なんかおかしかったら教えて頂けると嬉しいです。


コマンドではなくて、ソースコードレベルで使用することもできます。

https://github.com/mironal/GlacierTools/blob/master/src/jp/mironal/java/aws/app/glacier/ArchiveController.java

https://github.com/mironal/GlacierTools/blob/master/src/jp/mironal/java/aws/app/glacier/VaultController.java

を自分のプログラムに組み込むことで簡単にGlacierの操作ができます。


諸々終わったら、Low levelのAPIを使ったものも作ってみたいと思います。

とりあえず今日のところはこのへんで。

0 件のコメント:

コメントを投稿