Managed Object Storage
Lizard (lizard.build) の Managed Object Storage は、アップロード、アセット、バックアップ向けの S3互換ストレージです。lizard add s3 を実行すると、default という名前のプライベートバケット と、S3_ENDPOINT から S3_REGION までの 5 つの変数が作成されます。これらの変数は、パス形式のアドレス指定を使う任意の AWS SDK で利用できます。各アカウントは最大 16 GiB まで保存でき、保存したバイト数に対して料金を支払います。認証なしでファイルを配信するには、ダッシュボードの S3 browser からバケットを公開状態にしてください。概要と料金については、Managed Object Storage のページ を参照してください。
プロビジョニング
lizard add s3最初の S3 アドオンの名前は s3 なので、${{s3.S3_ENDPOINT}} などもすぐに使えます。
環境変数
| 変数 | 説明 |
|---|---|
S3_ENDPOINT | S3互換エンドポイント URL |
S3_DEFAULT_BUCKET | 自動作成されるバケット名 (default) |
S3_ACCESS_KEY_ID | アクセスキー |
S3_SECRET_ACCESS_KEY | シークレットキー |
S3_REGION | リージョン |
サービスを接続
lizard secrets set \
S3_ENDPOINT='${{s3.S3_ENDPOINT}}' \
S3_DEFAULT_BUCKET='${{s3.S3_DEFAULT_BUCKET}}' \
S3_ACCESS_KEY_ID='${{s3.S3_ACCESS_KEY_ID}}' \
S3_SECRET_ACCESS_KEY='${{s3.S3_SECRET_ACCESS_KEY}}' \
S3_REGION='${{s3.S3_REGION}}' \
--service api
lizard redeploy --service apiAWS SDKを使用する
エンドポイントは S3互換です。path-style アドレッシングを設定してください:
import { S3Client } from "@aws-sdk/client-s3";
const s3 = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: process.env.S3_REGION,
forcePathStyle: true, // required
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID!,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
},
});公開ファイル
バケットはデフォルトでプライベートです。公開した バケット内のオブジェクトは、認証なしで次の 2 つの方法で配信されます:
- Gateway URL (ダッシュボードに表示):
https://s3-<region>.onlizard.com/<addonId>/<bucket>/<key><region>はS3_REGIONの値 (eu-west-1またはus-east-1) です。 - Platform proxy (ダッシュボードのホスト。長期間有効な immutable キャッシュヘッダー付き):
<dashboard-host>/api/s3/<addonId>/public/<bucket>/<key>
default バケットを公開状態にすると、そのオブジェクトは次の URL で配信されます:
<dashboard-host>/api/s3/<addonId>/public/default/<key>オブジェクトの参照
ダッシュボードで S3 browser (lizard open) を開くと、オブジェクトのアップロードと削除、フォルダーの作成、バケットの public/private の切り替えを行えます。CLI では、lizard s3 upload <file> でファイルをアップロードし、lizard s3 list でオブジェクトを一覧表示できます。lizard s3 を参照してください。
Bucket ACL の変更 (バケットを public/private にすること) はまだ CLI ではできません:ダッシュボードから管理してください。
ストレージの上限
各アカウントは、Managed Object Storage アドオン全体で最大 16 GiB のオブジェクトを保存できます。料金は予約したサイズではなく、保存したバイト数に対して発生します。lizard scale --storage ではこの上限は変わりません。
関連項目
- Managed Addons:命名、参照、ダッシュボードのブラウザーについて。
- サービス間参照:参照構文と解決方法。
更新日