惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
Y
Y Combinator Blog
V
V2EX
Engineering at Meta
Engineering at Meta
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
博客园 - 叶小钗
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The GitHub Blog
The GitHub Blog
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
B
Blog
G
Google Developers Blog
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
N
Netflix TechBlog - Medium
腾讯CDC

HANG ♥ WRITING

ChatGPT 问世两年,我在 AI 的辅助下成为了一名 iOS 业余开发者 如何使用 Netcat 构建简单的安全聊天系统 QuakeSense 震感,一款简洁原生的 iOS 地震通知 App App Store 中国大陆 ICP 备案最佳实践 几款有意思的 Google Chrome 侧边栏扩展应用 GetVM 让编程学习更快一步 WildCard (野卡) - 国内用户零门槛订阅 ChatGPT、Claude、App Store 万里汇开发者收款使用全指南 | 注册、开户与账户绑定教程 中国大陆居民开通华侨银行(OCBC)海外账户完全指南 实用的 macOS 内置命令,省下买第三方应用的钱 《认知觉醒》之触动学习法 不是程序员也可以搞开发,一小时入门 Retool 低代码 疫情来袭,手把手教你在家制作美味炒鸡 企业微信机器人 Webhook 推送语雀更新消息 印象时间:印象笔记出品的时间管理应用 Pixelmator Photo 2.0: 桌面级功能并适配 iPhone Shortery:Mac 快捷指令自动化 Pixelmator Pro 2.3:AI 背景去除 Quit All:一键退出应用程序 Raycast:推出官方扩展商店和开发者平台 简悦 API 2.0:收藏助手和快照功能 HomePod mini 使用体验 Prizmo 5.5:扫描效果增强并新增批注功能 Notion:近期值得关注的新特性 Google Analytics 替代品,零成本和零门槛搭建 umami.is Infuse 7:一款近乎完美的视频播放器 Gyroscope 4.14:新的产品名称和多项改进 V day:在手机上创作短视频 Things 3.14:备注支持 Markdown,同步速度加快 MoneyWiz 2021:新的通知选项和视觉改善
基于 Cloudflare Workers 部署的 JSON Database 数据库
huhuhang · 2021-12-29 · via HANG ♥ WRITING

Cloudflare Workers 是优秀的 Serverless 服务,同时附带免费的键值数据库 KV。Cloudflare 基础设施优秀,业界良心。相比 AWS Lambda 等易用性更好,产品体验一流。我已经将自己大部分 Serverless 函数转移到 Cloudflare Workers。

Cloudflare Workers 免费计划包含了高达 100,000 次每天的请求额度。而全局性的低延迟键值边缘数据库,同样也支持每天最多 100,000 次读取操作,以及每天最多 1,000 次写入、删除和列出操作。

结合二者,我们通过不超过 100 行的 JavaScript 代码,即可构建一个实用的 JSON Database 数据库。可以方便地存储和读取 JSON 数据。

示例

使用 POST 向命名空间 demo_bucket/hello 写入示例数据 {"hello": "world"}

curl -X "POST" "https://jsonbase.huhuhang.workers.dev/demo_bucket/hello" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d '{"hello": "world"}'

使用 GET 方法获取命名空间 demo_bucket/hello 的数据:

curl "https://jsonbase.huhuhang.workers.dev/demo_bucket/hello"

返回:

{ "hello": "world" }

部署

你可以直接在 Cloudflare Workers 网页版中新建项目,并复制本仓库中的 index.js 到在线编辑器中部署。

同时需要创建一个 KV 数据库,并绑定到 Cloudflare Workers。

或者使用官方提供的 wrangler cli 工具:

  1. 了解 Cloudflare Workers 命令行工具 wrangler 的使用方法。
  2. 基于本项目初始化一个新的项目:wrangler generate jsonbase https://github.com/huhuhang/jsonbase
  3. 请修改 wrangler.toml 中预留的 account_id,替换为你的账户信息。
  4. 请修改 wrangler.toml 中预留的 KV 数据库 id,替换为你的账户信息。
  5. jsonbase 项目添加到 Cloudflare Workers 部署。

身份认证

目前没有添加任何身份认证,为了保护数据安全,可以使用 Cloudflare Access 创建请求策略。或者参考 官方示例 修改代码添加认证模块。请不要在生产环境使用文章中的示例数据库,你的数据可能被移除或篡改,请自行部署。