SuperAPI AI 工具集

netlify-blobs

部署与运维

查看项目

更新于 10-16 03:47

技能介绍

用途:在 Netlify 上通过 @netlify/blobs 的键值 API 存储与读取非结构化对象、文件上传和类缓存状态,适用于 Functions、Edge Functions 与构建插件。安装:npm install @netlify/blobs,需要 Fetch API(Node 18+ 内置),否则传入自定义 fetch。

主要能力:getStore 打开站点级存储(跨部署持久、所有部署上下文共享);getDeployStore 打开单次部署级存储(与生产隔离);listStores 列出存储(不含部署级)。支持 set/setJSON 写入并附带 metadata,get/getWithMetadata/getMetadata 读取,list 列表(自动分页,可用 directories、prefix 做层级列举),delete/deleteAll 删除。写入支持 onlyIfNew 与 onlyIfMatch(ETag 比较交换)条件写。

使用方式:在 Functions/Edge Functions/Build Plugins 内 siteID、token、deployID、region 自动设置,无需手动传入。读取需判空(get 默认返回字符串,可用 type 指定 json、arrayBuffer、blob、stream、text)。构建插件可读任意站点存储,但只能写部署级存储。也可把文件放在 .netlify/blobs/deploy/ 下由 Netlify 上传,元数据用同目录 $ 前缀 JSON 文件。CLI 可用 netlify blobs:list/get/set/delete 检查。

限制:存储名不含 / 和 :,最长 64 字节;键非空、不以 / 开头、最长 600 字节;对象 ≤5 GB,元数据 ≤2 KB;无服务端 TTL,需自行用 metadata 时间戳实现过期;默认最终一致性,更新删除 60 秒内传播,可选用强一致性;无内置访问控制,需由函数做鉴权;Go Functions 无法访问;本地 Netlify Dev 使用沙箱存储;不支持 HIPAA 合规托管;部署删除只清理部署级存储。Blobs 不是数据库,计数器、余额等事务性数据应使用 Netlify DB。若曾用 @netlify/blobs ≤6.5.0 写入站点级存储,升级后需用 netlify recipes blobs-migrate YOUR_STORE_NAME 迁移。