用途:帮助在 Vercel 项目中选型、接入与迁移存储方案,明确哪些产品仍有效、哪些已下线,以及各自适用场景。
主要能力:
- Vercel Blob:非结构化文件存储(图片、视频、文档)。使用 npm install @vercel/blob,通过 put、del、list、get 等操作;支持 public 与 private(公开测试)访问,客户端上传最大 5 TB,支持 ETag 条件请求。私密文件应使用 get() 读回,不适合需公开分发的文件。
- Vercel Global Config(原 Edge Config):超低延迟键值配置存储,非数据库。npm install @vercel/global-config,使用 get、getAll、has。适用于功能开关、A/B 配置、路由规则、维护模式;不适合用户数据、会话状态或频繁写入。@vercel/global-config 是 @vercel/edge-config 的直接替代,兼容旧环境变量。
- Marketplace 存储:@vercel/postgres 与 @vercel/kv 已下线,改用 Neon Postgres(@neondatabase/serverless,需 Node 19+)与 Upstash Redis(@upstash/redis)。还支持 Supabase、Prisma、MongoDB Atlas、Convex、Turso(@libsql/client)。
必要用法:优先通过 Vercel Marketplace 或 CLI(如 vercel integration add neon)进行集成,可自动开通账户、创建资源并注入环境变量;仅在 Marketplace 不可用时回退到供应商 CLI 手动配置,此时需自行同步环境变量并执行 vercel env pull .env.local --yes。使用 Neon 时需注意 Next.js 构建期顶层初始化会导致未配置 DATABASE_URL 时构建失败,应采用惰性初始化,且不要用 JavaScript Proxy 包裹数据库客户端。drizzle-kit 与 tsx 不会自动加载 .env.local,需手动导出变量或使用 dotenv-cli。
适用场景:媒体与用户上传、功能开关与边缘配置、关系型数据、缓存/会话/限流、文档数据库、实时同步后端、边缘 SQLite、全文搜索与向量嵌入等。
限制:资料未提供各方案的价格、配额与性能数据;部分能力(如 Blob 私密访问)处于公开测试阶段。