SuperAPI AI 工具集

iii-rust-sdk

编程与开发

查看项目

更新于 10-15 22:17

技能介绍

用途:iii-rust-sdk 是 iii 引擎的原生异步 Rust SDK,通过 tokio 将 worker 连接到 iii 引擎,适合用 Rust 构建高性能 worker、注册函数或调用触发器。

安装:在 Cargo.toml 中添加 iii-sdk = { version = "0.10", features = ["otel"] }。需要 OpenTelemetry 支持时须加上 features = ["otel"]。

主要能力:register_worker(url, InitOptions) 连接引擎并返回 III 客户端;III::register_function 配合 RegisterFunction::new(id, handler) 注册同步函数,new_async 注册异步函数,register_function_with(msg, handler) 为双参数便捷方法;RegisterFunction 构建器支持 .description() 并通过 schemars 自动生成请求 schema,输入类型派生 schemars::JsonSchema 即可;III::register_trigger(type, function_id, config) 将触发器绑定到函数;III::trigger(TriggerRequest) 调用函数,TriggerAction::Void 为即发即忘,TriggerAction::Enqueue { queue } 为持久化异步调用;IIIError 表示处理器错误;Streams 提供原子流 CRUD;with_span、get_tracer、get_meter 与 execute_traced_request 提供 OpenTelemetry 与 trace 上下文传播。

使用要点:同步处理器用 RegisterFunction::new,异步用 new_async;用 .description("...") 为函数添加说明;需保持 tokio 运行时存活(如 tokio::time::sleep 循环)以处理事件;register_trigger 成功返回 Ok(()),可用 ? 传播错误。

适用场景与边界:适用于任务主要围绕 iii 引擎中 iii-rust-sdk 的场景。相关用法与示例可参考 iii-functions-and-triggers、iii-http-middleware;Node.js、Python、浏览器端分别见 iii-node-sdk、iii-python-sdk、iii-browser-sdk。不应将其作为无关任务的通用兜底,若有更具体的 iii 技能则不应使用本技能;应用示例前须先确认环境与安全约束。完整 API 参考见 https://iii.dev/docs/api-reference/sdk-rust。