📁 ファイルストレージ
ファイルストレージは、再利用可能な署名付き URL、削除、およびファイル正規化ブロックをエクスポートします。マウント可能なサービスではなく、ルート、機能、ハンドラー、バリデーターは定義しません。
ここから始める
各ファイル操作ブロックに FileStorageDriver を渡します。バンドルされたドライバーは deleteFile、generateSignedDeleteUrl、generateSignedDownloadUrl、および generateSignedUploadUrl を提供します。signedUrlExpiresInSeconds を指定しない場合、署名付き URL のデフォルト有効期間は 900 秒です。アップロード URL は、指定された Content-Type と正確な Content-Length に署名します。アップロードルートを合成するときは、エクスポートされたスキーマを使用して、エンドポイントレベルの MIME 許可リストと 10 MB のリクエスト上限を適用してください。
import {blocks, drivers} from '@nodeblocks/backend-sdk';
const fileStorageDriver = drivers.createFileStorageDriver(process.env.GCP_PROJECT_ID!, process.env.GCP_BUCKET_NAME!);
const result = await blocks.generateFileUploadUrl(fileStorageDriver, 'image/png', 512_000);
if (result.isErr()) {
throw result.error;
}
const {objectId, url} = result.value;
ドライバーファクトリーは同期的で、Google Application Default Credentials を使用します。返される Result には、成功時に生成されたオブジェクト ID と署名付き URL が含まれます。URL を公開する前に、呼び出し元がエラー結果を処理する必要があります。
よくあるタスク
| タスク | 開始点 | 契約 |
|---|---|---|
| オブジェクト ID と署名付きアップロード URL を生成する | generateFileUploadUrl | generateFileUploadUrl |
| アバターアップロード URL を生成する | generateSignedAvatarUploadUrl | generateSignedAvatarUploadUrl |
| 署名付きダウンロード URL または削除 URL を生成する | generateSignedDownloadUrl または generateSignedDeleteUrl | generateSignedDownloadUrl または generateSignedDeleteUrl |
| 保存済みオブジェクトを削除する | deleteFile | deleteFile |
| 保存済みファイルを安全に公開する | normalizeFile | normalizeFile |
| 画像または汎用アップロードリクエストを検証する | ファイルストレージスキーマ | ファイルストレージスキーマ |
リファレンスマップ
| ページ | 目的 |
|---|---|
| ブロック | Result を返すストレージ操作とエラー契約。 |
| スキーマ | アップロードのクエリパラメータと 200 レスポンス定義。 |
関連モジュール
ファイルストレージドライバー は Google Cloud Storage 実装を構成します。プロフィール、組織、製品、および チャット は、これらのブロックとスキーマを公開エンドポイントに合成します。