ユーザーガイド/リファレンスガイド

操作例:Python-swiftclient

Python-swiftclientとは、オブジェクトストレージを操作できるコマンドライン・ツールです。

以下ではCnetOS6系の場合のPython-swiftclientによるオブジェクトストレージの操作方法をご案内します。なお、オブジェクトストレージの詳細なAPI操作につきましては、APIリファレンスの「ObjectStorage API v1」にてご確認ください。

 

 

操作手順

[ 1 ] 任意のサーバーにSSHもしくはコンソールにて接続します。

 

[ 2 ] Python-swiftclientをインストールします。

# yum -y install epel-release
# yum -y install https://centos6.iuscommunity.org/ius-release.rpm
# yum -y install python35u python35u-devel gcc python35u-pip
# pip3.5 install python-keystoneclient python-swiftclient

 

[ 3 ] クライアント環境変数を設定します。

OS_AUTH_URL 認証のエンドポイントを入力します。コントロールパネル内のAPIメニューから「Identity Service」をご確認ください。
OS_TENANT_NAME テナント名を入力します。コントロールパネル内のAPIメニューから「テナント名」をご確認ください。
OS_USERNAME APIユーザー名を入力します。コントロールパネル内のAPIメニューからAPIユーザーを作成ください。
OS_PASSWORD APIユーザーのパスワードを入力します。コントロールパネルのAPIメニューからAPIユーザーを作成する際に設定するパスワードです。

環境変数はログオフすると初期化されますので、次回以降も省略されたい場合は「/etc/profiled.d/」以下に設定ファイルを作成してください。

# export OS_AUTH_URL=’認証のエンドポイント’
# export OS_TENANT_NAME=’テナント名’
# export OS_USERNAME=’APIユーザー名’
# export OS_PASSWORD=’APIユーザーのパスワード’

 

[ 4 ] オブジェクトストレージへの接続を確認します。

# swift stat

Account: *******************************
Containers: 0
Objects: 0
Bytes: 0
Accept-Ranges: bytes
X-Timestamp: 1395129386.25830
X-Trans-Id: *******************************
Content-Type: text/plain; charset=utf-8

以降は、オブジェクトストレージに対して以下操作が可能になります。

 

 

操作一覧
・コンテナリストの確認

# swift list

 

・コンテナの作成

# swift post コンテナ名

 

・コンテナ情報の確認

# swift stat コンテナ名

 

・コンテナの削除

# swift delete コンテナ名

 

・オブジェクトリストの確認

# swift list コンテナ名

 

・オブジェクトのアップロード ※5GB未満のオブジェクトの場合

# swift upload コンテナ名 オブジェクト名

 

・ラージオブジェクトのアップロード ※5GB以上のオブジェクトの場合
分割サイズはByte単位で数値み入力します。
例)1073741824 と入力した場合、1GBに分割されます。

# swift upload -S 分割サイズ コンテナ名 オブジェクト名

 

・オブジェクトのダウンロード

# swift download コンテナ名 オブジェクト名

 

・オブジェクトの削除

# swift delete コンテナ名 オブジェクト名

 

・指定した時間が経過後にオブジェクトを削除(秒)

# swift post -H ‘X-Delete-After: 秒数’ コンテナ名 オブジェクト名

 

・指定した日時にオブジェクトを削除

1.指定する日時をエポックフォーマットに変換
# date +%s -d “2016/11/22 02:23:00
2.エポックフォーマットでスケジュール削除のリクエストを送信
# swift post -H ‘X-Delete-At: エポックフォーマットの日時’ コンテナ名 オブジェクト名

 

・コンテナのWeb公開

# swift post -H “X-Container-Read: .r:*” コンテナ名

 

本リファレンスは S-port cloud EVA にてサーバーをご利用いただく場合の一例であり、お客様の運用やポリシーによってその限りではございません。お客様のご利用用途に応じて必要な設定や操作をおこなってください。