概要

mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する機会がありましたので、備忘録です。

背景

mdx.jpのオブジェクトストレージに関して、簡単に確認したところ、corsの設定ができず、mdx.jpのオブジェクトストレージにアップロードしたIIIFマニフェストファイルを他のビューアから利用することは難しいようでした。

/ja/posts/ad76f58db4e098/#注意(corsの許可)

そこで、NestJSからオブジェクトストレージにアップロードしたIIIFマニフェストファイルをロードして返却します。

ソースコード

以下のリポジトリからご確認いただけます。

https://github.com/nakamura196/nestjs-iiif

以下のような環境変数を用意します。mdx.jpのオブジェクトストレージを使用するため、S3_ENDPOINThttps://s3ds.mdx.jpを与えます。

SSSSS33333_____ERASBNECEUDGCCCPIERKOOSEEINSTTN=___TuKAN=sECAh-YCMte_EEtaIS=psDSxst=_x:-xKx/1xE/xYs=3xdxsx.mdx.jp

そして、@aws-sdk/client-s3を利用して、以下のように、オブジェクトストレージ上のIIIFマニフェストファイルをダウンロードして返却します。

iiiid@e}mmmmoIxpppptnppc}a}sooooejorosrrrrrnerint}yci}ccccf}crcttttvctvsh)nofooooooe/.tatirefc};cntnnnnrcnts{{{cactrsenor,s(hsssshsu3obleu.gdreasgt!rttttautr.ISRanlacsipcdceebownnsn3esfesrt3ooeecctbuwcrscakfejCai(seoCniPnerJucoethisiJrelddg)arl:natsescknmsrut.lSvciao(Sd(ittistokeempenpeOitebt)3o)ep:haKAnetwaoak(uCNcanle;SnnrSlecFt)nnmscso.ebtenel{toptsyciEds:ohnp.l,vrycry:Iel={re=n(tate}v=eoldser=UscersGfissce{:s(po=rithns}efrc3nse:KkrrnenutetroeCe.speeo(eastcn(fOomlwestryyc'wwp8hk=frbm{in.ro::eSaoAu)ioj'eSveucs3Ginrn;Blme'dn3.neepss_etsrkuecsotCSv,srt.BteafC'ttt:l3.soreUOt.yofo@Crei_S.cinCbhB[fennoenSeR3eenvKjio]rtemav3nE_nsg.Eesds.esmm'CtGEvs)STc.y=tcnta';l(IN..:3_tsrotjn;i{ODSe_NC3a[en)sdeNP3nPBAoCs]ac;/n,O_vrUMml;mac}tIA.oCEmiR)to;NCSmKaee(mfTC3iEinna{cmr,E_sTsdtdhooSSe_(.aunmSE<Nn{sbn'_CaAoelk;'KRnMtBnes@EEyEud;)aYT>;sc(.w__ekctsIA{teoo-DCtmSs,Ci:mtdEnarkSbni/Seudnc_nc)glKvk;(iEie'eYrtun,o,ttnf-mK-see83ny''t:);;vkaeryia}b)l;es.');

まとめ

mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルの利用にあたり、参考になりましたら幸いです。