remote-cloudflare-kv 在 Vercel 上使用 Cloudflare KV
最近我在做 Next.js 项目部署 Cloudflare Pages 时发现本地开发调试、登录鉴权等好多问题,所以又想要切回到 Vercel 中,便有了这么一个项目,可以在 Cloudflare 以外的环境上得到类似于 Worker Runtime 的 KV 使用体验。
废话不多说,直接进入正题。
源码: https://github.com/willin/remote-cloudflare-kv
安装
npm install --save remote-cloudflare-kv
# or
yarn add remote-cloudflare-kv
# or
pnpm install --save remote-cloudflare-kv
使用
初始化
import CloudflareKV from 'remote-cloudflare-kv';export const NAMESPACE = new CloudflareKV({account_id: process.env.CF_ACCOUNT_ID || '',namespace_id: process.env.CF_NAMESPACE_ID || '',// use bearer tokenapi_token: process.env.CF_API_TOKEN || '',// or use email & api keyapi_email: '',api_key: ''
});
写入 kv
await NAMESPACE.put(key, value);
// void
设置超时:
// 传入 unix 时间戳
await NAMESPACE.put(key, value, { expiration: secondsSinceEpoch });
// 传入秒数
await NAMESPACE.put(key, value, { expirationTtl: secondsFromNow });
设置 Metadata:
await NAMESPACE.put(key, value, {metadata: { someMetadataKey: 'someMetadataValue' }
});
读取 kv
// 替换 key & type
const result = await NAMESPACE.get('key', { type: 'json' });
console.log(result);
// {"hello": 1}
支持的类型: text
、json
、arrayBuffer
、stream
。
读取 kv 并带 Metadata
const result = await NAMESPACE.getWithMetadata(key, { type: 'json' });
// {"value": {"hello": 1}, "metadata": {"someKey": "someVal"}}
删除 kv
await NAMESPACE.delete(key);
// void
列出 kv
const result = await NAMESPACE.list();
console.log(result);
更多详细查询(在 Typescript 中):
await NAMESPACE.list({ prefix: string, limit: number, cursor: string });
列表响应参考:
{"keys": [{"name": "foo","expiration": 1234,"metadata": { "someMetadataKey": "someMetadataValue" }}],"list_complete": false,"cursor": "6Ck1la0VxJ0djhidm1MdX2FyD"
}
参考资料
- Runtime API: https://developers.cloudflare.com/workers/runtime-apis/kv/
- RESTful API: https://developers.cloudflare.com/api/operations/workers-kv-namespace-list-namespaces
赞助
- 关注我的 Github 账号:@willin
- 参与 爱发电 计划
- 支付宝或微信扫码打赏
remote-cloudflare-kv 在 Vercel 上使用 Cloudflare KV相关推荐
- Cloudflare为italki全球上千万语言学习者坚守第一道安全防线
全球大型语言学习社区italki成立于2007年,提供超过150种语言的外教1对1在线课程,和涵盖免费外语学习内容.全球语言爱好者交流社区等的一站式语言学习平台. 挑战:为用户创造更稳定.更安全的语言 ...
- php采集绕过cloudflare,三行代码带你绕过cloudflare反爬
在使用Python编写蜘蛛爬取数据时,偶尔也有失败的,其中有种失败的情况就是目标站使用coludflare cdn,爬取数据时总是返回400 bad request. 今天我就详细的给大家讲解一下如何 ...
- cloudflare免费证书_免费获取cloudflare的ssl证书
点击ssl 证书 选中 中间那个 保存文件 xxx.pem 一个 为xxx.key server { listen 80; #listen [::]:80; server_name xxx.ne ...
- 批量修改CloudFlare上的域名的DNS - by PHP
<?php/*** Title: 批量修改CloudFlare上的所有域名的DNS* Author: Rudon <285744011@qq.com>* Date: 2019-03- ...
- 1.62亿美元收购Area 1 Security,Cloudflare在零信任安全平台扩展上迈出的重要一步
Cloudflare最初创立于2009年,以向客户提供基于反向代理的内容分发网络和分布域名解析服务为主要业务.而客户则可以利用Cloudflare提供的服务保护自己免受各种网络攻击.虽然Cloudfl ...
- 任何人都可以借助Workers在Cloudflare上运行JavaScript了
一年前的今天,Cloudflare给我一项任务:让人们可以在Cloudflare的边缘服务器上运行代码.那时,我们还不知道那是什么意思.是基于容器吗?一种新的图灵不完备的领域专属语言?Lua?&quo ...
- 如何给你的网站套上Cloudflare(以阿里云为例)
文章目录 Cloudflare 是什么 准备工作 开搞 Cloudflare 设置 阿里云域名设置 等待 设置 DNS 解析记录 其他问题 看下效果 结尾 Cloudflare 是什么 以下内容引自维 ...
- 将 Cloudflare 页面与 IPFS 结合使用
星际文件系统或 IPFS 是一种点对点超媒体协议. 简单来说,IPFS 允许您将资产存储在去中心化存储中. 像以太坊这样的区块链允许你将智能合约部署到区块链网络,但如果你将资产或静态文件存储在以太坊网 ...
- Cloudflare Pages 搭建hexo
演示站 1.安装 Wrangler 2.0 CLI npm npm install -g wrangler yarn yarn global add wrangler 2.使用您的 Cloudflar ...
最新文章
- Exchange Server 2010安装测试
- 关于c++类中的指针成员问题
- Netlib文件转化为mps文件
- Windows 服务器安全维护知识
- 如何制作网线标签和贴标签
- J2EE-RBAC权限管理
- lamp架构,搭建一个网络平台
- mysql偏移注入_移位溢注:告别靠人品的偏移注入
- 路飞学城14天集训营作业2—三级菜单
- 1059. C语言竞赛(20)-PAT乙级真题
- inner join去除重复_SQL多表查询:join表联结
- html弹窗代码大全定时弹窗,js点击弹窗弹出表单框代码
- LeetCode 2122. 还原原数组
- vue项目 pc端自适配方案
- 软考·系统架构师论文——论软件的高并发设计
- HB 7066机舱内部非金属材料毒性测定
- 如何在sap里设置自定义打印纸张
- nginx常见502错误提示原因和解决方法
- 漏洞通告 |IBM发布9月更新, 修复墨云科技报告的漏洞
- Vivado ILA Advanced Trigger的使用