FleekのStorageサービスを使ってIPFSにファイルを保存する
前の記事でFleekを使ったWebサイトのホスティングをやってみましたが、今回はStorageサービスを利用してみます。
このStorageサービスですが、FleekのWebUI, CLI, SDKを利用することでIPFSにファイルをアップロードしたり、ピンニングを行ったりすることが可能です。
IPFSから直接取得するよりもファイル取得が速いことが挙げられています。
組み込みのピン留めオーケストレーション、CDN(Fleek Edge)、圧縮、および画像のサイズ変更により、Fleek Storageにアップロードされたすべてのファイルを最大10倍高速に取得できます
Fleekのサーバー独自のバックアップのほか、Filecoinに自動でアーカイブされるようにもなっていおり、冗長かもできているとのこと。
使ってみる
Fleekへのサインアップが済んでいる状態、プランはBasic($0/mo)のものを使用します。
Basicプランでは最大で3GBまでが利用可能です。
WebのUIから
Fleekにログインし、Storageのページを開きます。
このUIを介してファイルのアップロードや閲覧が可能となり、アップロードされたすべてのファイルはIPFSに公開され、さらにDNSに公開されるようになっています。
公開してもいいファイルだけをアップロードするようにしましょう。パブリックに公開するWebサイトのアセットをホストすることを目的としたツールのようです。
ファイルアップロード
Upload
ボタンを押すと、モーダルダイアログが立ち上がるので、ファイルをドラッグするかファイルを選択してアップロードできます。
複数のファイルもアップロード可能です。
アップロードしたファイルの詳細画面では上記の情報が参照可能です。
IPFSゲートウェイで直接参照することもできますし、Fleek Storage URLで参照することもできます。
例)
IPFSゲートウェイ:
https://ipfs.fleek.co/ipfs/bafybeibb6myrenzlnjyo42m3nm4pdztpizktbrrem7oz63bsp4mcflpyle
Fleek Storage URL:
また、ファイルだけでなく
このようにフォルダもアップロード可能です。
詳細画面ではフォルダの中にあるファイルが確認できます。
AWS S3 コマンドラインインターフェイスとの統合
AWSS3インターフェースを介してFleek Storageにアクセスすることもできます。
FleekのAPIKeyを用意
Fleek StorageにアクセスするためのAPI KEYが必要なので、Webのコンソールから作成します。
コンソール画面の左下のユーザー設定のリンクをクリックし、Storage API
の項目でGenerate API
をクリックして作成します。
API KeyとAPI Secretが生成されますが、Secretは一度しか表示されないので安全な場所に保管しておきます。
AWS CLI) コマンドラインを使ってアクセスする
AWS CLIを使ってStorageにアクセスします。
AWS CLIの設定で、[[apiKey]]と[[apiSecret]]をFleekで作成したAPI KeyとAPI Secretに置き換えます
$ aws configure --profile [[Fleek用のプロファイル名]] AWS Access Key ID [None]: [[apiKey]] AWS Secret Access Key [None]: [[apiSecret]] Default region name [None]: us-east-1 Default output format [None]: ENTER
設定後は、
$ aws --endpoint-url [[fleek endpoint]] command
のように、--endpoint-url
に
https://storageapi2.fleek.co
を指定してアクセスすることが可能になります。
例)
- バケットの一覧表示
$ aws --endpoint-url https://storageapi2.fleek.co s3 ls --profile [[プロファイル名]]
- オブジェクトの一覧表示
$ aws --endpoint-url https://storageapi2.fleek.co s3 ls s3://[[バケット名]]/ --profile [[プロファイル名]]
- アップロード
$ aws --endpoint-url https://storageapi2.fleek.co s3 cp ./[[アップロードファイル名]] s3://[[バケット名]]/ --profile [[プロファイル名]]
- ダウンロード
$ aws --endpoint-url https://storageapi2.fleek.co s3 cp s3://[[バケット名]]/[[ダウンロードファイル名]] [[保存パス]] --profile [[プロファイル名]]
aws s3 コマンドと同様の操作が可能になります。
CLI(これはまだ開発中)
Fleek CLIというコマンドラインからFleekの製品にアクセスできるようにするツールが提供されています。
当社のホスティング製品にアクセスしたり、Fleek Storage JS を使用する際に自分自身を認証するための API キーを取得したりすることができます
このCLIからもファイル操作ができるようになることを期待。
インストール
$ npm i -g @fleekhq/fleek-cli $ fleek --help Fleek command line utilities VERSION @fleekhq/fleek-cli/0.1.8 darwin-x64 node-v16.14.0 USAGE $ fleek [COMMAND] TOPICS site Manage your Fleek sites COMMANDS autocomplete display autocomplete installation instructions help display help for fleek login Login to your Fleek account logout Logout of the CLI site Manage your Fleek sites whoami Show profile details of the logged in user
最後に
FleekのStorageサービスを使ってIPFSにファイルを保存したりダウンロードしたりしてみました。
自動的にピンニングしてくれたり、Fleek外にバックアップもしてくれるので、Webサイトと一緒に使う場合は重宝しそうな感じです。
今回はWebコンソールとコマンドラインでの操作を行いましたが、Javascript SDKも用意されているようなので次回はこれを使ったチュートリアルにチャレンジしようと思います。