先週、IBM Bluemix の Object Storage サービスがベータを卒業して正式サービスになりました:

SoftLayer 上に用意された Swift と呼ばれる標準的なオブジェクトストレージ機能を Bluemix を通じて提供するものです。5GB であれば無料サービスとして利用できます:

では、この Bluemix 上の Object Storage サービスをクライアントから使う方法を紹介します。
1. Swift ツールの導入
このサービスを Linux(CentOS) から実際に利用するまでの手順を紹介します。このサービスを使うには swift と呼ばれるツール(swiftclient)が必要です。まずはこのツールを導入しましょう。
swift の導入は pip を使って行います。最初にこの pip を導入する必要がありますが、pip の導入に必要なライブラリをあらかじめまとめて導入しておきます:
ここで導入した fuse ライブラリを読み込んでおきます:
次に pip の導入に必要な Python 3 を導入します。Python 3 は yum ではインストールできないため、PUIAS から導入します。まずはそのための GPG Key をインストールします:
次に /etc/yum.repos.d/puias-computational.repo ファイルを以下の内容で作成します:
作成したリポジトリファイルを使って yum で Python 3 一式をインストールします:
Python 3 がインストールできていれば pip がインストールできます:
これでやっと pip の導入ができました。ではこの pip を使って keystoneclient と swiftclient をインストールします:
ここまでの手順で swift コマンドが使えるようになっているはずです。
2. Object Storage サービスの追加と、環境変数の設定
Bluemix 上で Object Storage サービスを追加し、その資格情報を確認します:

環境変数 VCAP_SERVICES の内容は以下の様な JSON 形式のテキストになっているはずです。これらのうち、赤字部分をメモしておきます(後で使います):
ここで取得した接続情報を Swift クライアント(Linux)の環境変数に(例えば /etc/bashrc などに)設定します:
↑上の赤字部分は接続情報のものを使い、青字部分は接続情報には含まれていないのですが、上記のように書き足してください。/etc/bashrc に書いた場合は再ログインするなどして、この環境変数が有効になった状態にしてください。これで swift を使う準備が整いました。
3. swift コマンドを実際に使ってみる
Object Storage はコンテナと呼ばれるフォルダ単位で利用します。現在のコンテナ一覧を確認してみましょう。以下のコマンドを実行します:
初めて実行した時には(コンテナが存在していないので)何も表示されないはずです。コンテナを作成するにはコンテナ名を指定して post コマンドを実行します。以下の例では dotnsf-container というコンテナを作成しています:
このコマンド実行後に再度コンテナ一覧を確認すると、作成した dotnsf-container が表示されるはずです(緑字が出力結果):
次にコンテナの中身を確認します:
これもコンテナ作成直後に実行した段階では(中身がないので)何も表示されないはずです。 ではこのコンテナにローカルファイル(以下の例ではカレントディレクトリの abc.txt を指定してアップロードしてみます:
この後に再度コンテナの中身を確認すると、アップロードしたファイルが追加されていることが確認できます:
コンテナ内のファイルは以下のコマンドでカレントディレクトリにダウンロードできます:
コンテナ内のファイルが不要になった場合、以下のコマンドでコンテナから削除できます:
一通りのコンテナ/ファイル操作コマンドが利用できそうです。
(参考)
https://www.ng.bluemix.net/docs/services/ObjectStorage/index.html

SoftLayer 上に用意された Swift と呼ばれる標準的なオブジェクトストレージ機能を Bluemix を通じて提供するものです。5GB であれば無料サービスとして利用できます:

では、この Bluemix 上の Object Storage サービスをクライアントから使う方法を紹介します。
1. Swift ツールの導入
このサービスを Linux(CentOS) から実際に利用するまでの手順を紹介します。このサービスを使うには swift と呼ばれるツール(swiftclient)が必要です。まずはこのツールを導入しましょう。
swift の導入は pip を使って行います。最初にこの pip を導入する必要がありますが、pip の導入に必要なライブラリをあらかじめまとめて導入しておきます:
# yum install fuse fuse-libs fuse-devel libattr-devel gcc gcc-c++ kernel-devel libxslt-devel
ここで導入した fuse ライブラリを読み込んでおきます:
# modprobe fuse
次に pip の導入に必要な Python 3 を導入します。Python 3 は yum ではインストールできないため、PUIAS から導入します。まずはそのための GPG Key をインストールします:
# cd /etc/pki/rpm-gpg/ # wget -q http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias # rpm --import RPM-GPG-KEY-puias
次に /etc/yum.repos.d/puias-computational.repo ファイルを以下の内容で作成します:
# vi /etc/yum.repos.d/puias-computational.repo
(以下を作成して保存)
[PUIAS_6_computational]
name=PUIAS Computational Base
mirrorlist=http://puias.math.ias.edu/data/puias/computational/$releasever/$basearch/mirrorlist
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puias
作成したリポジトリファイルを使って yum で Python 3 一式をインストールします:
# yum install python3 python3-devel python3-libs python3-setuptools
Python 3 がインストールできていれば pip がインストールできます:
# wget -O - https://bootstrap.pypa.io/get-pip.py | python3
これでやっと pip の導入ができました。ではこの pip を使って keystoneclient と swiftclient をインストールします:
# pip install python-swiftclient
# pip install python-keystoneclient
ここまでの手順で swift コマンドが使えるようになっているはずです。
2. Object Storage サービスの追加と、環境変数の設定
Bluemix 上で Object Storage サービスを追加し、その資格情報を確認します:

環境変数 VCAP_SERVICES の内容は以下の様な JSON 形式のテキストになっているはずです。これらのうち、赤字部分をメモしておきます(後で使います):
{ "Object-Storage": [ { "name": "Object Storage-7d", "label": "Object-Storage", "plan": "Free", "credentials": { "auth_url": "https://identity.open.softlayer.com", "project": "object_storage_(project)", "projectId": "(projectId)", "region": "dallas", "userId": "(userId)", "username": "Admin_(username)", "password": "(password)", "domainId": "(domainId)", "domainName": "(domainName)" } } ] }
ここで取得した接続情報を Swift クライアント(Linux)の環境変数に(例えば /etc/bashrc などに)設定します:
export OS_USER_ID=(userId) export OS_PASSWORD=(password) export OS_PROJECT_ID=(projectId) export OS_AUTH_URL=https://identity.open.softlayer.com/v3 export OS_REGION_NAME=dallas export OS_IDENTITY_API_VERSION=3 export OS_AUTH_VERSION=3
↑上の赤字部分は接続情報のものを使い、青字部分は接続情報には含まれていないのですが、上記のように書き足してください。/etc/bashrc に書いた場合は再ログインするなどして、この環境変数が有効になった状態にしてください。これで swift を使う準備が整いました。
3. swift コマンドを実際に使ってみる
Object Storage はコンテナと呼ばれるフォルダ単位で利用します。現在のコンテナ一覧を確認してみましょう。以下のコマンドを実行します:
# swift list
初めて実行した時には(コンテナが存在していないので)何も表示されないはずです。コンテナを作成するにはコンテナ名を指定して post コマンドを実行します。以下の例では dotnsf-container というコンテナを作成しています:
# swift post dotnsf-container
このコマンド実行後に再度コンテナ一覧を確認すると、作成した dotnsf-container が表示されるはずです(緑字が出力結果):
# swift list
dotnsf-container
次にコンテナの中身を確認します:
# swift list dotnsf-container
これもコンテナ作成直後に実行した段階では(中身がないので)何も表示されないはずです。 ではこのコンテナにローカルファイル(以下の例ではカレントディレクトリの abc.txt を指定してアップロードしてみます:
# swift upload dotnsf-container abc.txt
この後に再度コンテナの中身を確認すると、アップロードしたファイルが追加されていることが確認できます:
# swift list dotnsf-container
abc.txt
コンテナ内のファイルは以下のコマンドでカレントディレクトリにダウンロードできます:
# swift download dotnsf-container abc.txt
コンテナ内のファイルが不要になった場合、以下のコマンドでコンテナから削除できます:
# swift delete dotnsf-container abc.txt
abc.txt
一通りのコンテナ/ファイル操作コマンドが利用できそうです。
(参考)
https://www.ng.bluemix.net/docs/services/ObjectStorage/index.html
コメント