概要

mdx.jpのオブジェクトストレージとIIIFイメージサーバの一つであるCantaloupe Image Serverを使ってIIIF画像を配信する方法に関する備忘録です。

背景

以下の記事で、mdx.jpのオブジェクトストレージを使った画像の配信方法について紹介しました。

また以下の記事で、Cantaloupe Image Serverで、Amazon S3に格納した画像を配信する方法について紹介しました。

これらを組み合わせることにより、デジタルアーカイブにおけるIIIF画像配信コストの課題の解決を目指します。

方法

以下の記事で紹介したDocker版Cantaloupeを使用します。

以下のリポジトリから、ソースコードをダウンロードいただけます。

https://github.com/nakamura196/docker_cantaloupe_s3

同梱されている.env.sample.envファイルにリネームし、設定を変更します。

#C##CCCCAAAAAaNmCNNNNwTdATTTTsAxNAAAAL.TLLLLsOjAOOOO3UpLUUUUPOPPPPEUEEEE_P____SESSSS3_3333SSSSSSO3OOOOUSUUUURORRRRCUCCCCEREEEE_C____EEASRBN_CEEADECCGSPNERIIODSEOCIPSTNLNO__=OTIKKO=NEEKTYYU=_=PhIStDTt=RpAsT:E/G/Ys_3BdUsC.KmEdTx_.NjApME=

ポイントはCANTALOUPE_S3SOURCE_ENDPOINTです。ここに、https://s3ds.mdx.jpを与えて、取得したACCESS_KEY_IDSECRET_KEY、作成したBUCKET_NAMEREGIONを設定します。

デモ

冒頭の記事でも使用した、いらすとやさんの画像を利用します。

https://www.irasutoya.com/2016/09/blog-post_810.html

以下、上記でアップロードした同じ画像ファイルを、Cantaloupeを使って配信している例です。

  • info.json

https://cantaloupe.aws.ldas.jp/iiif/3/baby_asia_boy.png/info.json

  • グレー化: full/max/0/gray.jpg

https://cantaloupe.aws.ldas.jp/iiif/3/baby_asia_boy.png/full/max/0/gray.jpg

なお、Cantaloupeを使って画像配信を行う場合には、上記の記事で実施したACLの設定(EveryoneRead権限を与える)は不要です。デフォルトの設定を使用することで、オブジェクトストレージ上の画像ファイルへの直接アクセスは不可としつつ、Cantaloupeを介したアクセスのみを許可できるかと思います。

以下の記事で紹介したようなCantaloupe側のAccess Control設定を組み合わせることで、アクセス制御を実現することになるかと思います。

まとめ

Amazon S3に格納した画像をIIIF画像として配信する方法として、以下の方法もあります。これが、Amazon S3以外のオブジェクトストレージにも対応しているのか、今後調査してみたいと思います。

IIIF画像の配信にあたり、参考になりましたら幸いです。