mdx.jpのオブジェクトストレージとCantaloupe Image Serverを使ってIIIF画像を配信する
概要
mdx.jpのオブジェクトストレージとIIIFイメージサーバの一つであるCantaloupe Image Serverを使ってIIIF画像を配信する方法に関する備忘録です。
背景
以下の記事で、mdx.jpのオブジェクトストレージを使った画像の配信方法について紹介しました。
また以下の記事で、Cantaloupe Image Serverで、Amazon S3に格納した画像を配信する方法について紹介しました。
これらを組み合わせることにより、デジタルアーカイブにおけるIIIF画像配信コストの課題の解決を目指します。
方法
以下の記事で紹介したDocker版Cantaloupeを使用します。
以下のリポジトリから、ソースコードをダウンロードいただけます。
同梱されている.env.sample
を.env
ファイルにリネームし、設定を変更します。
# aws s3
CANTALOUPE_S3SOURCE_ENDPOINT=
# mdx.jp
# CANTALOUPE_S3SOURCE_ENDPOINT=https://s3ds.mdx.jp
CANTALOUPE_S3SOURCE_ACCESS_KEY_ID=
CANTALOUPE_S3SOURCE_SECRET_KEY=
CANTALOUPE_S3SOURCE_REGION=
CANTALOUPE_S3SOURCE_BASICLOOKUPSTRATEGY_BUCKET_NAME=
ポイントはCANTALOUPE_S3SOURCE_ENDPOINT
です。ここに、https://s3ds.mdx.jp
を与えて、取得したACCESS_KEY_ID
やSECRET_KEY
、作成したBUCKET_NAME
やREGION
を設定します。
デモ
冒頭の記事でも使用した、いらすとやさんの画像を利用します。
以下、上記でアップロードした同じ画像ファイルを、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の設定(Everyone
にRead
権限を与える)は不要です。デフォルトの設定を使用することで、オブジェクトストレージ上の画像ファイルへの直接アクセスは不可としつつ、Cantaloupeを介したアクセスのみを許可できるかと思います。
以下の記事で紹介したようなCantaloupe側のAccess Control設定を組み合わせることで、アクセス制御を実現することになるかと思います。
まとめ
Amazon S3に格納した画像をIIIF画像として配信する方法として、以下の方法もあります。これが、Amazon S3以外のオブジェクトストレージにも対応しているのか、今後調査してみたいと思います。
IIIF画像の配信にあたり、参考になりましたら幸いです。
Discussion