ニフティクラウドストレージ (1) CLIを使ったアップロード・ダウンロード

こんにちは。渡辺です。

今回からニフティクラウドストレージの動作を検証してみます。

 

 

ニフティクラウドストレージとは何か?

ニフティクラウドストレージに説明があります。

一言でいえば、ニフティクラウド版のAmazon S3です。

RESTインターフェースを持つオブジェクトストレージであり、ファイルサーバとして使えます。

 

 

今回やること

CentOSからクラウドストレージへのファイルアップロード/ダウンロードを試します。

基本的に ファイルバックアップ手順 に沿って進めていきます。

 

 

ニフティクラウドストレージCLI実行環境の作成

ニフティクラウドストレージCLIというのがあり、CLIでクラウドストレージにアクセスできます。

ニフティクラウドストレージCLIは、ニフティクラウドストレージ SDK for Java に同梱されています。

 

Javaインストール

JDK 6以上が必要ということなので、やはり最新版を入れてみましょう。

Java SE Downloads からたどって、今回はJDK8 (jdk-8u25-linux-x64.rpm) を入れてみました。

Javaインストール確認

ニフティクラウドストレージ SDK for Java のインストール

ダウンロード

 

SDKの中身を確認

ncs_cli.shがコマンドライン(CLI)となり、credentials.propertiesが認証キーを設定する定義ファイルになります。

RPMやインストールスクリプトを使わず、ダウンロードしたファイルをそのまま実行するようですね。

 

API認証キーの確認

アカウントメニューのAPI認証というところから、認証キーを確認・作成できます。

niftycs01

ニフティクラウドでは認証キー(AccessKey)は、初めから一つ作成されています。

表示するをクリックすると、SecretAccessKeyも確認できます。

 

一点残念なところは、認証キーは1アカウントで1つしか作成できないところです。

2つ目を作成すると1つ目が消えます。

niftycs02

複数の認証キーを作成したい場合は、マルチアカウント機能を使いましょう。

niftymultiaccount

API認証キーの設定(credentials.properties)

さて、credentials.propertiesを見てみましょう。

 

3つのパラメータがありますが、accessKey とsecretKey を入力しておきます。

privateKeyphraseとは何でしょうね?

説明しているドキュメントは見つかりませんでしたが、ひとまず設定しないでも大丈夫そうです。

 

バケット一覧表示 (-h)

sh ncs_cli.sh -h でコマンドヘルプが表示されます。

バケット一覧表示 (mb ncss://<bucket-name>)

まだバケット作成していないのでバケットが見当たらないですが、レスポンスを見ると Success: 200 とあり、正常に通信できていそうです。

 

[DEBUG] がうっとおしいので、以後は省略します。システム的にDebugログを出さなくするには、以下の設定を入れます。

ちなみに、初期設定はDEBUG出力を出すようにしていますので、HTTPリクエストやHTTPレスポンスの詳細が必要ない場合は、SDK展開ディレクトリ/cli/log4j.properties の中にある「log4j.logger.org.apache.http.wire=DEBUG」をコメント アウトすると簡易出力表示になります。

 

バケット作成 (mb ncss://<bucket-name>)

clara-testというバケットを作成しました。

実はこの前にtestというバケットを作成しようとしたのですが、他ユーザーのバケット名と重複し失敗しました。

バケット名もドメインと同じで早い者勝ちですねー。

 

もう一度 ls で確認するとバケットが見えます。

 

バケットは複数作成可能です。

ファイルアップロード (put <local-filename> ncss://<bucket-name>[/<object-name>])

試しに /var/log/messagesをclara-testバケット の /server01/var/log/messagesクラウドストレージ上 に保存してみます。
server01のログ置き場的な感じで、ディレクトリを切ってみます。

put <local-filename> ncss://<bucket-name>[/<object-name>] 指定ファイルをオブジェクトとして、バケット内に作成します。このとき、オブジェクト名の指定が可能です。
一定サイズを超えるファイルの場合は、分割してアップロードされます。

 

ファイルを確認してみましょう。CLIで確認できます。

 

コントロールパネルでも確認できます。
ディレクトリ構成もちゃんと維持されていますね。

niftycs06

 

ファイルダウンロード (get ncss://<bucket-name>/<object-name> <local-filename>)

CLIでダウンロード。

 

コントロールパネルでダウンロード。

niftycs07

 

いかがでしたでしょうか。

今回はニフティクラウドストレージへのファイルアップロード・ダウンロードを試しました。

次回はもう少し細かい仕様を確認していこうと思います。

Share on LinkedIn
LINEで送る
Pocket

claraer

claraer