Waterbutler API とは
Waterbutler は、Center for Open Science (COS) が開発したファイルストレージ抽象化レイヤーです。OSF (Open Science Framework) および GakuNin RDM で使用されており、様々なストレージプロバイダー(OSF Storage、Amazon S3、Google Drive、Dropbox など)に対して統一的なAPIでファイル操作を行うことができます。
主な機能
- ファイルのアップロード・ダウンロード
- ファイル/フォルダの作成・削除・移動・コピー
- メタデータの取得
エンドポイント
- GakuNin RDM :
https://files.rdm.nii.ac.jp/v1 - OSF :
https://files.osf.io/v1
参考リンク
問題
GakuNin RDM の Waterbutler API を使用してファイルをアップロードした後、そのファイルの詳細画面に直接遷移したい場合があります。
しかし、RDM上ではプロジェクトの短縮URL(例:https://rdm.nii.ac.jp/qv3xf/)が表示されるため、アップロードしたファイルの詳細画面URLをどのように構成すればよいかわかりにくい状況でした。
Waterbutler API のレスポンス
ファイルアップロード時の Waterbutler API レスポンス例:
解決策:ファイル詳細URLの構成
ファイル詳細画面のURLは以下の形式で構成します:
| パラメータ | 説明 | 取得方法 |
|---|---|---|
nodeId | プロジェクトID | アップロード時に指定した値(例:wzv9g) |
provider | ストレージプロバイダー | アップロード時に指定した値(例:osfstorage) |
fileId | ファイルID | レスポンスの data.id から抽出(osfstorage/ 以降の部分) |
実装例(TypeScript)
まとめ
- 短縮URL (
https://rdm.nii.ac.jp/qv3xf/)はプロジェクトトップページ - ファイル詳細URL は
/{nodeId}/files/{provider}/{fileId}の形式で構成 fileIdは Waterbutler API レスポンスのdata.idからprovider/を除いた部分