Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する
概要
Omeka Sのファイルをmdx.jpのオブジェクトストレージに保存する方法に関する備忘録です。
ベースとするモジュール
Amazon S3との連携を可能にする以下のモジュールをベースとします。
本モジュールでは、Omeka Sで取り扱う画像や動画といったメディアのファイルをAmazon S3に保存するための拡張機能を提供します。
一方、endpoint
の指定ができないため、mdx.jpのオブジェクトストレージなどを対象にすることはできませんでした。
モジュールのカスタマイズ
上述した背景を踏まえて、Amazon S3以外のオブジェクトストレージを利用できるように、モジュールをカスタマイズしました。カスタマイズした結果は、以下のリポジトリで公開しています。
なお、カスタマイズについては、エディタとしてCursorを使用し、s3互換のオブジェクトストレージにも対応したい
という依頼をclaude-3.7-sonnet
に提出し、その結果を反映しています。
結果、上記のモジュールを使用することにより、Omeka Sで登録したメディアが以下のようなURLでアクセス可能になりました。
https://s3ds.mdx.jp/<バケット名>/large/3e0a78e1cbc239f37cfff0e777c40c2f9b2f5c92.jpg
以下は、files
ディレクトリを、mdx.jpに接続したCyberduckで表示した例です。
モジュールの設定内容は以下のとおりです。カスタムエンドポイントURL
という項目が追加されており、https://s3ds.mdx.jp
を指定することで、mdx.jpのオブジェクトストレージを利用できるようになりました。
なお、上記の画面キャプチャで表示されているとおり、mdx.jpのオブジェクトストレージにファイルが保存される設定をしても、現時点ではWrong region. Please use region of a bucket:
と表示されてしまいます。この点は、今後修正予定です。
モジュールのインストール
今回フォークして作成したカスタムモジュールをインストールするには、以下の手順を踏む必要があります。
cd <モジュールが格納されているディレクトリ>
git clone https://github.com/nakamura196/Omeka-S-module-AmazonS3 AmazonS3
cd AmazonS3
composer install --no-dev
Omeka Sにおいて、ソースからモジュールを使用するには、おおよそ共通して上記のような手続きが必要になります。
参考
Omeka Sのモジュールにおいて、同様の機能を提供するものとして、Any Cloud
があります。
こちらもAmazon S3との接続機能を提供しており、またカスタイズを行う必要がなく、AWS Endpoint
を入力する項目が提供されていました。
ただ、これらの項目に先述したmdx.jpのオブジェクトストレージの情報を入力したところ、アイテムなどを登録する画面で以下のエラーが表示されました。
原因や対処方法については引き続き調査したいと思いますが、このエラーが遭遇したため、Any Cloud
ではなく、Amazon S3
モジュールをカスタマイズする選択を行いました。
まとめ
2025年度からmdx.jpのオブジェクトストレージは無料で使用可能になるということで、デジタルアーカイブにおける公開画像の格納先や、また長期保存のためのストレージとしても有効な選択肢になるかと思います。
デジタルアーカイブの構築や活用にあたり、参考になりましたら幸いです。
Discussion