パーソナルアクセストークンとプロジェクトの「GUID」を利用して、コマンドラインによるGakuNin RDMの操作が可能です。
コマンドラインツールのPythonコードは、GitHubで公開しています。
・https://github.com/RCOSDP/rdmclient
可能な操作
- プロジェクト中のファイル一覧取得
- ファイルのアップロード/ダウンロード
- ファイルの移動/削除
- ディレクトリの作成
rdmclientのインストール方法 (汎用)
- GitHubのリポジトリ rdmclientのmasterブランチをgit clone
- Pythonの仮想実行環境 pyenv をインストールして、activateする。
- % pyenv virtualenv <Pythonバージョン> <Python仮想環境名>
- % pyenv activate <Pyton仮想環境名>
- rdmclient ファイルのディレクト中で必要なPythonパッケージをpipでインストール。
- % pip install -r requirements.txt
- rdmclient ファイルのディレクト中でpipを使ってインストール
- % cd ./rdmclient
- % pip install .
- インストールの確認
- % osf -v
- GRDMのユーザ設定画面でパーソナルアクセストークンを払い出して、環境変数OSF_TOKENへ設定。
- % export OSF_TOKEN=<GRDMパーソナルアクセストークン>
https://github.com/RCOSDP/rdmclient
osf 0.0.4
rdmclientの基本コマンド
- GRDMのプロジェクト中のファイル一覧を取得
- GRDMのプロジェクトへファイルをアップロード
- GRDMのプロジェクトへディレクトリを作成
- GRDM上のプロジェクト中のファイルの取得
- GRDM上のプロジェクト中の全ファイルの取得
- GRDM上のプロジェクト中のファイルの移動
- GRDM上のプロジェクト中のファイルの削除
- 操作対象となるストレージは、osfコマンドによって異なります。プロジェクト内のファイル一覧表示(ls)や、プロジェクト自体のダウンロード(clone)では、拡張ストレージも対象となります。
fetch, upload, rm, mv は、拡張ストレージには対応していません。 - osf コマンドは、実施毎にプロジェクト内のすべてのファイルパス・ファイル名を抽出した上で指定された処理を実施する構造のため、多くのファイルが存在するプロジェクトや、階層の深いフォルダを持つプロジェクトを指定すると、コマンド実行に時間がかかる場合があります。
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> ls(または"osf list")
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> upload <ローカルの転送元のファイル名>
*-r を指定することで、カレントディレクトリ中のファイルの再帰的なアップロードが可能です。
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> mkdir(または"makefolder") <作成するディレクトリのパス/ディレクトリ名>
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> fetch <ローカルの保存先>
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> clone <ローカルの保存先のパス/ディレクトリ>
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> mv(または"move")
% osf --base-url https://api.rdm.nii.ac.jp/v2/ -p <プロジェクト名> rm(または"remove")