🐡

Cantaloupe: Amazon S3に格納した画像を配信する

2023/11/16に公開

概要

IIIFイメージサーバの一つであるCantaloupe Image Serverについて、Amazon S3に格納した画像を配信する方法の備忘録です。

なお、Amazon S3に格納した画像を配信する別の方法として、以下の記事で紹介した方法もありますので、参考になりましたら幸いです。(記事執筆時点からツールが更新されているようで、記事通りに進められないかもしれません。)

https://zenn.dev/nakamura196/articles/72e49979edf582

設定

以下に公式マニュアルが公開されています。

https://cantaloupe-project.github.io/manual/5.0/sources.html#S3Source

以下のファイルを編集します。

/cantaloupe-5.0.5/cantaloupe.properties

まず、source.staticS3Sourceに変更しました。

/cantaloupe-5.0.5/cantaloupe.properties
###########################################################################
# SOURCES
###########################################################################

# Uses one source for all requests. Available values are `FilesystemSource`,
# `HttpSource`, `JdbcSource`, `S3Source`, and `AzureStorageSource`.
# source.static = FilesystemSource
source.static = S3Source

次に、S3Source.access_key_idS3Source.secret_keyS3Source.BasicLookupStrategy.bucket.nameを設定します。

/cantaloupe-5.0.5/cantaloupe.properties
#----------------------------------------
# S3Source
#----------------------------------------

# !! Endpoint URI. Only needed for non-AWS endpoints.
S3Source.endpoint =

# !! AWS region. Only needed for AWS endpoints.
S3Source.region =

# !! Credentials for your AWS account.
# See: http://aws.amazon.com/security-credentials
# Note that this info can be obtained from elsewhere rather than setting
# it here; see the user manual.
S3Source.access_key_id = <アクセスキー>
S3Source.secret_key = <シークレットキー>

# How to look up objects. Allowed values are `BasicLookupStrategy` and
# `ScriptLookupStrategy`. ScriptLookupStrategy uses a delegate method for
# dynamic lookups; see the user manual.
S3Source.lookup_strategy = BasicLookupStrategy

# !! Name of the bucket containing images to be served.
S3Source.BasicLookupStrategy.bucket.name = <バケット名>

これでAmazon S3に格納した画像が参照されるようになりました。

その他

Amazon S3への画像アップロードには、AWS CLI(Amazon Web Services コマンドラインインターフェース)を使って、以下のようなコマンドを用いました。

aws s3 sync <ローカルの画像フォルダへのパス> s3://<バケット名>/<S3上のパス> --exclude "*/.DS_Store"

まとめ

Cantaloupe Image Serverの利用にあたり、参考になりましたら幸いです。

Discussion