首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
iii http worker:3 条命令把函数变成 REST 端点,零 Web 服务器依赖
📅 2026/9/15 15:34:00
✍️ 爱科研究院
👁 阅读 3,247
iii http worker3 条命令把函数变成 REST 端点零 Web 服务器依赖【免费下载链接】iiiEffortlessly compose, extend, and observe every service in real-time for the first time ever.项目地址: https://gitcode.com/GitHub_Trending/mo/iiiiii http worker 把你的普通函数直接变成 REST 端点。不用引入 Express、FastAPI 之类的 web 框架路由匹配、请求解析、响应序列化都是内置的一行命令引入 worker几行代码挂上触发器就能收工。监听端口、绑定 host、跨域、超时这类服务器参数也不落在 worker 里全部由 configuration worker 在运行时托管想调整只改配置即可worker 代码一行不用动。3 条命令跑通一个 http 端点从引入 worker 到 curl 命中最短路径就是下面这一段# 引入内置的 http worker iii worker add http # 启动引擎已在运行可跳过 iii --config config.yaml # 把含 http 触发器的 worker 注册进引擎 iii worker add ./my-worker # 直接调用暴露出来的端点 curl -X POST http://localhost:3111/math/add \ -H content-type: application/json \ -d {a: 2, b: 3}如果my-worker还不存在先用脚手架命令iii worker init my-worker --language typescript生成一个在里面写一个函数并挂上 http 触发器写法见下文示例。请求命中后会拿到 200 状态码和{c:5}的响应体端点就算跑通了 ✅看懂原理请求到响应只有一条直线核心链路就三步函数 → 触发器 → HTTP 响应。可以类比餐厅的点单系统触发器是贴在出餐口的点菜单上面写明方法加路径例如 POST /math/add前台引擎的 HTTP 服务器每收到一个匹配的请求就喊号一次把订单内容——请求的 body、headers、method 这些信息——交给对应的函数这位厨师厨师端出来的菜函数的返回值再被引擎原样打包作为 HTTP 响应发回给调用方。所以你要写的代码只有两件事一个函数、一张挂在它身上的点菜单。监听、解析、序列化等传输层工作全部由引擎代劳。核对关键配置字段触发器配置核心只有 3 个必填字段其余都是可选配置项必填说明type: http是声明触发器类型引擎据此把匹配请求派发给对应函数function_id是要暴露的函数标识例如http::add触发器靠它和函数建立关联api_path是路由路径原生支持/users/:id这样的路径参数http_method否绑定的请求方法省略时默认 GETcondition_function_id否前置校验函数 ID正式函数执行前先跑它适合做路由级检查处理函数的返回值同样是三个字段且都可省略返回字段默认值说明status_code200响应状态码出错场景400、404 等显式指定body空对象响应体按你设置的 Content-Type 序列化上线headers无响应头最常见的 Node / TypeScript 写法完整示例如下import { registerWorker } from iii-sdk; const url process.env.III_URL; if (!url) throw new Error(III_URL must be set); const worker registerWorker(url, { workerName: my-worker }); worker.registerFunction(http::add, async (payload: { body: { a: number; b: number } }) ({ status_code: 200, body: { c: payload.body.a payload.body.b }, headers: { Content-Type: application/json }, })); worker.registerTrigger({ type: http, function_id: http::add, config: { api_path: /math/add, http_method: POST }, });Python 与 Rust SDK 的契约完全一致只是写法不同Python 用register_function加register_trigger传普通字典Rust 用类型化构建器IIITrigger::Http(...).for_function(...)三种语言完整版见 docs/0-21-0/creating-workers/http.mdx。处理常见踩坑点端点 404先核对方法是不是写错了触发器里只填了api_path、却用非默认方法去调用必然打不中默认值见上表http_method一行。涉及写数据的接口务必在触发器配置里显式声明方法。改端口走 configuration worker默认监听端口是 3111即上文 curl 地址中的那个端口。改端口、加 CORS、调超时都不动 worker 定义而是走 configuration worker 的运行时通道改完即生效。这些值还会经过引擎的模板插值与类型强制例如${HTTP_PORT:3111}会被强转为整数 3111 后生效而不是字符串相关断言可参考 engine/src/workers/configuration/store.rs。响应状态码字段名别写错三个返回字段全部可省略但注意状态码字段名是status_code不是status——名字写错不会报错只是响应永远走默认 200。字段定义见 engine/src/trigger_formats.rs ⚠️再读一点http worker 完整指南路径模式、响应处理docs/0-21-0/creating-workers/http.mdx默认端口 3111 与 CORS 等服务器参数来源engine/worker-compose.yaml运行时配置机制说明docs/using-iii/configuration.mdx【免费下载链接】iiiEffortlessly compose, extend, and observe every service in real-time for the first time ever.项目地址: https://gitcode.com/GitHub_Trending/mo/iii创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/15 15:34:00
BuildKit 静态检查规则 JSONArgsRecommended 全解析:ENTRYPOINT/CMD 必须使用 JSON 格式的原因与实战
2026/9/15 15:34:00
CAI 网络安全 Agent 体系完全指南:内置安全智能体、自定义扩展与多 Agent 编排实战
2026/9/15 15:34:00
DataHub Actions 快速上手:用实时元数据事件驱动你的数据治理流水线
2026/9/15 16:04:07
C#与三菱PLC通讯实战:MC协议帧格式与地址映射详解
2026/9/15 16:04:07
douyin-downloader:抖音无水印批量下载完整指南
2026/9/15 16:04:07
Manim数学动画引擎:10分钟跑通第一个数学动画视频
2026/9/15 16:04:07
vphone-cli内核补丁守卫规范:为什么绝对不能硬编码偏移量
2026/9/15 16:04:07
douyin-downloader 抖音无水印批量下载完整指南:新手从配置到任务管理
2026/9/15 15:59:04
测试智能体落地实录:知识库路径+工作流驱动需求到用例全自动
2026/9/15 0:01:49
2026年NVMe SSD装机避坑指南:PCIe 4.0/5.0、NVMe启动与M.2 Key兼容性实测
2026/9/15 0:01:49
Flutter与OpenHarmony物理动画实现指南
2026/9/15 0:01:49
vscode插件开发之语言服务器,这次让用 TaoToken 接入的 Codex 排查 LSP 服务端连接
2026/9/15 13:08:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/14 2:50:57
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/14 11:25:37
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化