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 ...
最新文章
- 自定义UISearchBar外观
- web服务器原理(二)
- mac 配置c语言环境,C语言学习笔记————–MAC下配置GTK+环境
- MIMIC 以太坊医疗项目开发(4)Axios
- aspose 换行写_aspose.word 换行符 aspose.words换行符
- php怎么写for循环,PHP for循环的写法和示例
- Python 爬虫没有思路?可以看看这篇文章
- 解决方案:Nginx高可用方案
- 五子棋c语言算杀算法,c语言 五子棋危险判断 求大神解释啊
- 计算机网络实验-路由器IP地址配置及直连网络和ARP协议分析
- 中国银行C语言笔试题,中国银行软件中心2016校园招聘笔试题经验
- 遗传算法求解函数最大值的python实现
- 如何更好的使用谷歌搜索引擎
- 安装微软活动目录的八个重要理由
- 美团后台开发(上海)
- 2.3.2 非导引型传输媒体
- linux设置NLS_LANG
- EDG一追一追平LGD,四保一阵容的Iboy从来不会让我们失望!
- JVM出现OOM的八种原因及解决办法
- 名编辑电子杂志大师教程 | 如何把制作好的电子杂志保存下来发给客服输出?