Amazon Glacierを制御する為のユーティリティーコマンドです。Javaで実装されているため実行環境を気にせず使用することができます。
Amazon Glacierとは大容量かつ、ほとんどアクセスしないデータの保存に適した低価格なストレージサービスです。保存したデータはAmazonのストレージ内で冗長化され破損する確率は極めて低くなっています。 詳細はAmazon Glacierを参照して下さい。
Amazon Glaierが提供する機能の殆どをコマンドライン形式で使用することができます。
以下に現在対応している機能の一覧を紹介します。Amazon Glaier独自の用語が沢山出てきますが、後ほど説明します。
- プロジェクトのjarディレクトリを何らかの方法でダウンロードします.
- AwsCredentials.propertiesを設置します.
java -jar vault_controller.jar create --vault vaultname
java -jar archive_controller.jar upload --vault vaultname --file filename
※ アップロードが終了するとarchiveIdが発行されます.
java -jar archive_controller.jar donwload --vault vaultname --file filename --archive archiveId
※ ダウンロードが開始されるまでに4時間程度の待ち時間が発生します.
java -jar archive_controller.jar list --vault vaultname
※ 取得までに4時間程度の待ち時間が発生します.
AmazonGlacierを使用するためにはAwsCredentials.propertiesが必要です。 詳細はここを参照して下さい. 簡単に説明すると、コマンドが見える場所にAwsCredentials.propertiesというファイル名で以下の内容が記載されていれば大丈夫です。
secretKey=XXXXXXXXXXXXXXXXXX
accessKey=YYYYYYYYYYYYYYYYYY
コマンドは以下の4つから構成されています。
- vault_controller.jar
- archive_controller.jar
- job_operator.jar
- restore_job.jar
Vaultに対する操作を行うコマンドです.以下の機能を提供します.
- Vaultの作成
- Vaultの詳細取得
- Vaultの一覧取得
- Vaultの削除
java -jar vault_controller.jar cmd [--vault vaultname] [--region region] [--properties prop_filename]
cmd : create | desc | list | delete | help
--vault : The name of the Vault.
--region : us-east-1 | us-west-1 | us-west-2 | eu-west-1 | ap-northeast-1
--properties : If you want to specify explicitly AwsCredentials.properties
java -jar vault_controller.jar create --vault vaultname
java -jar vault_controller.jar create --vault vaultname --region ap-northeast-1
java -jar vault_controller.jar create --vault vaultname --properties myAwsPropFile.properties
java -jar vault_controller.jar create --vault vaultname --region us-west-2 --properties myAwsPropFile.properties
java -jar vault_controller.jar desc --vault vaultname
java -jar vault_controller.jar desc --vault vaultname --region us_west-2
#####デフォルトのリージョンのVault一覧を取得 java -jar vault_controller.jar list
java -jar vault_controller.jar list --region ue-west-2
java -jar vault_controller.jar delete --vault vaultname
java -jar vault_controller.jar delete --vault vaultname --region ap-northeast-1
Archiveに対する操作をするコマンドです.以下の機能を提供します.
- Archiveのアップロード
- Archiveのダウンロード
- Archiveの削除
- Archiveの一覧取得
java -jar archive_controller.jar cmd [--vault vaultname] [--archive archiveId] [--file filename] [--force] [--region region] [--properties prop_filename]
cmd : upload | donwload | delete | list
--vault : The name of the Vault.
--archive : The ID of the archive.
--file : Specifies the name of a file that is uploaded when the upload. When the download is the name of the saved file.
--force : If there is a file with the same name at the time of download, Force overwrite.
--region : us-east-1 | us-west-1 | us-west-2 | eu-west-1 | ap-northeast-1
--properties : If you want to specify explicitly AwsCredentials.properties
java -jar archive_controller.jar upload --vault vaultname --file filename
java -jar rchive_controller.jar upload --vault vaultname --file filename --region ap-northeast-1
java -jar rchive_controller.jar upload --vault vaultname --file filename --region ap-northeast-1 --properties myAwsPropFile.properties
java -jar rchive_controller.jar upload --vault vaultname --file filename --region ap-northeast-1 --region us-west-2 --properties myAwsPropFile.properties
java -jar archive_controller.jar donwload --vault vaultname --file filename --archive archiveId
java -jar archive_controller.jar donwload --vault vaultname --file filename --archive archiveId --region ap-northeast-1
java -jar archive_controller.jar donwload --vault vaultname --file filename -force --archive archiveId
※ --forceオプションを指定するとダウンロード開始前に該当ファイルを削除します. ※ ダウンロード完了まで4時間程度掛かります.
java -jar archive_controller.jar delete --vault vaultname --archive archiveId
java -jar rchive_controller.jar delete --vault vaultname --archive archiveId --region ap-northeast-1
java -jar archive_controller.jar list --vaultname
Jobに対する操作を行うコマンドです.以下の機能を提供します.
まだ開発途中であるため予期しない動きをする可能性があります
- Jobの開始
- Vaultの目録取得
- Archiveのダウンロード
- Job出力の取得
- Jobの詳細取得
- Jobの一覧取得
- Jobの待機
Jobの開始の際に--asyncオプションをつけることによって、Jobの完了を待機せずにプログラムを終了できます.終了時にJobの復元に必要なパラメータが出力されるので、restore_job.jarと組み合わせることで非同期的にJobの制御を行うことができます.
java -jar job_operator.jar cmd [--vault vaultname] [--archive archiveId] [--file filename] [--job jobId] [--region region] [--properties prop_filename] [--async]
cmd : inventory | archive | list | desc | help
--vault : The name of the Vault.
--archive : The ID of the Archive.
--job : The ID of the Job.
--file : Save file name.
--region : us-east-1 | us-west-1 | us-west-2 | eu-west-1 | ap-northeast-1
--properties : If you want to specify explicitly AwsCredentials.properties.
java -jar job_operator.jar inventory --vault vaultname
java -jar job_operator.jar inventory --vault vaultname --region ap-northeast-1
java -jar job_operator.jar archive --vault vaultname --archive archiveId --file filename
java -jar job_operator.jar archive --vault vaultname --archive archiveId --file filename --region ap-northeast-1
java -jar job_operator.jar list --vault vaultname
java -jar job_operator.jar list --vault vaultname --region ap-northeast-1
※取得できるのは進行中、または最近完了したJobの一覧です.
java -jar job_operator.jar desc --vault vaultname --job jobId
java -jar job_operator.jar desc --vault vaultname --job jobId --region ap-northeast-1
job_operator.jarに--asyncオプションを指定して実行したJobの復元を行います.
まだ開発途中であるため予期しない動きをする可能性があります
- Job出力の取得(donload)
- Jobが完了しているかチェック.
###使用方法 java -jar restore_job.jar cmd [--restore restore_prop_filename] [--file filename] [--properties prop_filename]
cmd : download | check | desc
--restore : job_operator.jarの結果が記述されているファイル.
--file : When the download of Archive is the name of the saved file
--properties : If you want to specify explicitly AwsCredentials.properties
java -jar restore_job.jar download --restore restore_prop_filename
####archiveのJobを復元してダウンロード java -jar restore_job.jar download --file filename --restore restore_prop_filename
java -jar restore_job.jar check --restore restore_prop_filename
####Jobを復元して、詳細を取得 java -jar restore_job.jar desc --restore restore_prop_filename
JobId=XXXXXXXXXXX
VaultName=YYYYYYY
Region=ZZZZZZZZZZ
ArchiveはAmazon Glaierに保存するデータの単位です。一つのテキストファイルをArchiveに保存することもできますし、大量の画像ファイルを一つにまとめた後(zip等)Archiveに保存することもできます。
VaultはArchiveを保存しておく箱です。 1つのVaultには0個以上のArchiveが保存されています。
JobはAmazon Glaierに保存したArchiveやArchiveの一覧を取得するための作業の単位です。Jobは次の非同期的な2段階プロセスで構成され、開始してから出力の取得が可能になるまで(1~2の間)には通常4時間程度待つ必要があります。
- Jobの開始
- Job出力の取得
また、Jobには現在以下の種類があります。
- Archiveのダウンロード
- Vaultの目録取得(Archiveの一覧取得)
Amazon GlaierにJobの開始を指示することです。Amazon Glaierに指示を出すとすぐにJobのID等を含むレスポンスが来ます。この後4時間程度Jobの完了を待つ必要があります。 Jobの完了を検出するためにはAmazon SNS、Amazon SQSを使用する方法が推奨されていますが、ポーリングによる方法でも可能です。
このコマンドラインユーティリティーでは処理を簡潔にするためにポーリングを使用しています。SNS、SQSによる方法は別途提供予定です。
Job出力とはArchiveのデータそのものや、Archiveの一覧を含むテキストデータのことです。開始したJobが完了するとJob出力が取得可能になります。