curl -X POST http://你的域名/api/push.php \
-H "Content-Type: application/json" \
-d '{"api_key":"你的APIKey","dataset":"sensor01","data":{"temp":26.5,"hum":61}}'
上面这行命令,是我第一次接触云递数据时跑的验证脚本。没有装数据库,没有配服务器,一条 curl 打过去,数据就进了云端。对写脚本、玩硬件、做小工具的人来说,这种"够用就好"的接口,比一堆 SDK 和文档都实在。这篇指南会把推送、读取、方案选择、部署方式和注意事项一次讲清楚,代码都能直接复制去跑。
云递数据是什么:轻量级云端数据存储与分发平台
云递数据的定位很克制:它是一个轻量级云端数据存储与分发平台。你不用买服务器、不用装数据库,只要你的程序、脚本或设备能发 HTTP 请求,就能往云端存数据、从云端取数据。整个交互就是一个 HTTP/JSON 接口,没有复杂的鉴权流程,也没有多层封装。
它的数据组织方式围绕"数据名"(dataset)展开。你可以把 dataset 理解成一个文件夹或者一条队列:同类数据放同一个名字下,便于分类管理和后续读取。注册之后系统直接发一个 APIKey,这个 key 就是你调用接口的凭证。控制台里能可视化看到每个数据集有多少条、占多少容量、哪些已被读取,数据也支持下载、编辑、清空和删除。
写入的时候,平台会自动把数据规范化,并计算哈希做去重——内容完全相同的数据只保留第一条。这一点在设备重复上报、脚本重跑的场景里特别省心,不至于把队列塞满一模一样的记录。
为什么需要云端数据存储:免服务器、免数据库、多端互通
很多人做小项目时卡在同一个坎上:数据放本地,换台机器就没了;想放云端,先得租服务器、装 MySQL、写后端、配域名,一通操作下来两三天过去了,项目本身可能才写了半天。云递数据解决的就是这个"最后一公里"的存储问题——把数据往一个 HTTP 端点一推,剩下的交给平台。
免服务器、免数据库带来的是维护成本的直接下降。你不用管系统补丁、不用管磁盘满了没、不用管数据库连接池。同时多端互通是天然结果:ESP32 上报的数据,Python 脚本能读;易语言写的桌面工具存的数据,网页端也能拉。只要大家约定好 dataset 名字,数据就在同一个地方流转。
下面这张表把几种常见方案放在一起对比,方便你判断自己的场景该不该用它:
| 方案 | 是否要自建服务器 | 是否要数据库 | 多端互通 | 适合场景 |
|---|---|---|---|---|
| 本地文件存储 | 否 | 否 | 差 | 单机临时数据 |
| 自建后端 + MySQL | 是 | 是 | 好 | 大型业务系统 |
| 云递数据 HTTP/JSON | 否 | 否 | 好 | 脚本、工具、硬件上报 |
怎么用:推送与读取两个核心接口的分步代码演示
云递数据只有两个核心接口,一个是推送,一个是读取。先把推送跑通。请求方式是 POST,地址是 http://你的域名/api/push.php,请求体是 JSON,包含 api_key、dataset 和 data 三个字段。data 可以是对象、数组,也可以是一段文本。api_key 也可以改用 X-Api-Key 请求头传递,看你的程序哪种写法顺手。
import requests
url = "http://你的域名/api/push.php"
payload = {
"api_key": "你的APIKey",
"dataset": "order_log",
"data": {"order_id": 10086, "status": "paid", "amount": 39.9}
}
resp = requests.post(url, json=payload)
print(resp.status_code, resp.text)
如果你的程序比较老,不方便发 JSON,云递数据也兼容另一种写法:把 api_key 和 dataset 放在 URL 查询参数里,请求体直接放一段纯文本。这种方式很适合易语言、按键精灵这类环境。
curl -X POST "http://你的域名/api/push.php?api_key=你的APIKey&dataset=notes" \
--data "今天完成了设备联调,下一步做告警"
读取接口是 http://你的域名/api/pull.php,同样是 POST。它按写入顺序(FIFO)来取,取走即标记为已读,不会重复下发。接口支持分页,也支持按数据名读取,所以你可以只拉某个 dataset 里的数据,不影响其他队列。
curl -X POST http://你的域名/api/pull.php \
-H "Content-Type: application/json" \
-d '{"api_key":"你的APIKey","dataset":"order_log","page":1}'
写代码的时候记住一个节奏:推送是"放进去",读取是"拿走"。因为是队列式已读消费,同一个消费者不需要自己做去重逻辑,取过就是取过了。如果你有多个消费者,各自拉各自关心的 dataset,互不干扰。
怎么选与怎么部署:会员方案、私有化部署与接入设备
关于费用,新用户注册即赠送 3 天会员免费试用,可以先跑通流程再决定。正式会员分两种:月卡 19 元、年卡 99 元,采用卡密充值,月卡卡密以 YK 开头,年卡以 NK 开头。多张卡密可以叠加,到期时间顺延,所以囤几张也不浪费。会员到期后数据会保留、不会被删除,只是暂停推送和读取,续费后恢复。
如果你在帮朋友或团队用,推广奖励也值得了解:邀请好友注册,好友用卡密开月卡,推荐人获赠 10 天;开年卡获赠 30 天,天数以后台配置为准,每次续费都自动到账。
部署方面,云递数据的技术栈是 Nginx + PHP + MySQL,支持私有化部署到你自己的内网或公网服务器,数据完全自主可控。对数据敏感、要求留在内网的环境,私有化部署是首选;对只想快速跑起来的个人项目,直接用官方服务即可。
接入设备几乎没有门槛,任何能发 HTTP 请求的语言或硬件都能用。常见的有易语言、按键精灵、PHP、Python、curl、PowerShell,硬件侧像 ESP8266、ESP32 这类带联网能力的模块也可以直接推数据。只要能把 JSON 或文本发出去,就接得上。
最佳实践清单:数据集命名、去重、消费与安全管理
第一,dataset 命名要有规矩。建议用"业务_对象"的形式,比如 sensor01_temp、order_log,别用中文或带空格的随意名字。命名统一了,读取端不用猜,也方便在控制台里一眼看清哪个数据集在涨。
第二,善用去重。平台在写入时会规范化并计算哈希,内容完全相同只留第一条。所以如果你的设备会重复上报同一状态,不必在本地先做一轮判断,直接推就行,重复内容不会堆积。
第三,消费要跟上。读取是取走即标记已读、不重复下发,这说明队列是"消费型"的。如果你只推不读,数据会一直堆着;建议写个定时任务按页拉取,处理完再进入下一轮。
第四,安全别偷懒。API 密钥就是你的门钥匙,不要硬编码后发到公开仓库里。平台侧做了 API 密钥鉴权、PDO 预处理防注入、CSRF 防护、登录防爆破和接口限流,但客户端这边该做的保管还是要做:key 放配置文件、加环境变量、定期更换。
常见问题
云递数据需要自己购买服务器和数据库吗?
不需要。它本身就是免服务器、免数据库的设计,注册拿到 APIKey 就能通过 HTTP/JSON 接口存取数据。如果你有数据自主可控的需求,也可以选择把 Nginx + PHP + MySQL 这套私有化部署到自己的内网或公网服务器上。
推送接口和读取接口分别怎么调用?
推送是 POST 到 http://你的域名/api/push.php,JSON 请求体里带 api_key、dataset、data,api_key 也可用 X-Api-Key 请求头传;老程序还能用 ?api_key=xxx&dataset=yyy 加纯文本请求体的兼容写法。读取是 POST 到 http://你的域名/api/pull.php,按写入顺序 FIFO 取数据,支持分页和按数据名读取。
读取数据后会被重复下发吗?
不会。读取采用队列式已读消费,取走即标记为已读,同一批数据不会重复下发给同一个读取方。
会员到期后我的数据会被删除吗?
不会删除。会员到期后数据保留,只是暂停推送和读取功能,续费之后即可恢复使用。所以不用担心到期后数据丢失,抽空续上就行。
哪些语言或硬件设备可以接入云递数据?
任何能发 HTTP 请求的语言或设备都可以,比如易语言、按键精灵、PHP、Python、curl、PowerShell,硬件侧像 ESP8266、ESP32 也都能接入,没有绑定特定 SDK。
把上面两个接口跑通,你基本就掌握了云递数据的使用方式。剩下的就是按业务约定好 dataset 名字、把读取做成定时消费、把 APIKey 管好。工具不复杂,关键是用对地方。
开始使用
本文的代码示例都可以直接在云递数据上运行:注册后即可获得专属 APIKey,在 开发文档 中查看推送、读取接口的完整说明;需要长期使用可以在 会员中心 用卡密开通月卡或年卡;更多实战内容可以浏览技术博客的其他文章。