关于 edgeone-makers-storage
为 EdgeOne Makers 提供 KV 与 Blob 存储指南,说明运行时限制、数据持久化方式及配置要求,适用于需要保存数据的项目。
主要功能
- 01KV 存储小型键值数据
- 02Blob 存储文件与结构化记录
- 03按运行时选择存储方案
- 04使用 Blob 键设计持久化模式
适用场景
- 01保存留言簿内容和投票
- 02存放用户上传文件及生成内容
- 03保存计数器、配置或会话令牌
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tencentedgeone/ edgeone-makers-tools --skill edgeone-makers-storage安装后在 Claude Code 中输入/edgeone-makers-storage确认已加载。
附带文件references/blob.mdreferences/kv.md
详细介绍
EdgeOne Makers 存储
🗄️ 此平台没有托管数据库——没有 SQL、没有 MongoDB、没有 Prisma、没有 ORM。不要使用
sqlite、pg、mysql、mongodb或内存数组(每次冷启动/重新部署都会重置)。Blob 就是你的数据库。 生成的网站需要持久化的任何动态数据——留言簿消息、上传的绘图、投票、排行榜、每位用户的保存状态、表单提交内容——都可以建模为 Blob 键。将“表”建模为键前缀(messages/<id>.json、users/<uid>.json)。参见 references/blob.md →“将 Blob 用作后端”。
⚠️ 本地开发并非总是需要登录。
edgeone makers dev无需身份验证即可运行纯静态预览。只有在以下情况下才需要登录:使用 Blob ⇒ 项目必须先link⇒ 链接项目前必须先登录账号。 因此,只有(且仅有)在开发/部署必须读写 Blob(或任何需要凭据的后端)时,才运行edgeone login(浏览器)或在链接/启动开发服务前传入-t <token>。如果网站没有后端,跳过登录,直接运行edgeone makers dev。 另请参阅 makers-env-adaption(登录身份验证 + 项目链接)。⛔ 项目使用 Blob/KV 时,始终为
edgeone makers dev传入-n <project-name>。 不带参数运行edgeone makers dev会进入交互式的“链接现有项目/创建并链接”选择器,在沙盒/非交互环境中会卡住。使用-n时,如果指定名称的项目尚不存在,CLI 会自动创建项目——只需一条命令,无需单独执行其他步骤。🔒 每个 Blob 存储都必须使用:
getStore({ name, consistency: "strong" })——不要使用字符串形式getStore("name")。 字符串形式默认采用最终一致性,会导致“刚写入,但下一次读取却返回旧值/null”的问题。完整规则及原因: references/blob.md → 文件顶部的 IRON RULE。
EdgeOne Makers 提供两种存储服务。请根据运行时和数据类型进行选择:
| 存储 | 运行时 | 数据类型 | SDK | 使用场景 |
|---|---|---|---|---|
| KV | 仅 Edge Functions | 小型键值对(≤ 25 MB) | 全局变量(无需 npm) | 计数器、配置、会话令牌、简单的 CRUD |
| Blob | Cloud Functions(Makers Functions) | 文件和对象(图像、文档、上传内容) | @edgeone/pages-blob(npm) | 用户上传内容、AI 生成的内容、文件管理 |
决策树
Need to persist anything (records, lists, counters, uploads, save state)?
├─ Edge Function (V8 runtime, no npm)?
│ → KV Storage (global variable) → read references/kv.md
└─ Cloud Function (Node.js, has npm)? ← default for any real backend
├─ Files / images / large objects?
│ → Blob Storage → read references/blob.md
└─ Structured data (records, lists, counters, per-user state)?
→ Blob with setJSON / key prefixes → read references/blob.md
路由
| 任务 | 阅读 |
|---|---|
| KV 存储(Edge Functions、全局变量、put/get/delete/list) | references/kv.md |
| Blob 存储(Cloud Functions、npm SDK、文件上传/下载、预签名 URL) | references/blob.md |