Vercel Blob용 프라이빗 스토리지, 이제 공개 베타 제공
Source: Vercel Blog
Overview
Vercel Blob은 이제 계약서, 청구서, 내부 보고서와 같은 민감한 파일을 위한 프라이빗 스토리지를 지원합니다. 프라이빗 스토리지는 모든 작업에 인증이 필요하므로 공개 URL을 통해 노출되는 것을 방지합니다.
퍼블릭 스토리지는 미디어 자산에 대한 공개 읽기를 계속 허용하는 반면, 프라이빗 스토리지는 인증을 반드시 요구합니다.
Creating a private store
스토리지 대시보드 또는 CLI를 사용해 프라이빗 스토어를 생성합니다:
vercel blob create-store [name] --access private
프라이빗 스토어는 BLOB_READ_WRITE_TOKEN 환경 변수가 필요하며, SDK를 사용할 경우 자동으로 주입됩니다.
SDK installation
pnpm add @vercel/blob@2.3
Uploading files
access: 'private' 옵션과 함께 put(또는 upload)을 사용합니다.
import { put } from '@vercel/blob';
export async function POST(request: Request) {
// Your auth goes here: await authRequest(request);
const filename = request.nextUrl.searchParams.get('filename');
const blob = await put(filename, request.body, {
access: 'private',
});
return Response.json(blob);
}
Downloading files
파일을 스트리밍하려면 get 메서드를 사용합니다.
import { get } from '@vercel/blob';
export async function GET(request: Request) {
// Your auth goes here: await authRequest(request);
const filename = request.nextUrl.searchParams.get('filename');
const { stream, blob } = await get(filename, {
access: 'private',
});
return new Response(stream, {
headers: {
'Content-Type': blob.contentType,
},
});
}
Pricing and availability
프라이빗 스토리지는 모든 플랜에서 베타 버전으로 제공되며, 기존 Vercel Blob 가격 정책을 따릅니다.