关于 iii-rust-sdk
介绍通过原生异步 Rust SDK 将 worker 连接到 iii 引擎,适用于构建 iii worker 的 Rust 开发者。内容涵盖函数注册、触发器绑定与调用,并说明可选的 OpenTelemetry 支持。
主要功能
- 01将 worker 连接到 iii 引擎
- 02注册同步和异步函数
- 03将触发器绑定到函数
- 04通过触发请求调用函数
- 05可选的 OpenTelemetry 插桩
适用场景
- 01将 Rust worker 连接到 iii
- 02注册异步函数处理器
- 03通过队列操作调用函数
- 04在 HTTP 请求中传递追踪上下文
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ iii-hq/ skills --skill iii-rust-sdk安装后在 Claude Code 中输入/iii-rust-sdk确认已加载。
详细介绍
Rust SDK
通过 tokio 将工作器连接到 iii 引擎的原生异步 Rust SDK。
文档
完整 API 参考:https://iii.dev/docs/api-reference/sdk-rust
安装
添加到 Cargo.toml:
iii-sdk = { version = "0.10", features = ["otel"] }
主要类型和函数
| 导出项 | 用途 |
|---|---|
register_worker(url, InitOptions) | 连接到引擎,返回 III 客户端 |
III::register_function(RegisterFunction::new(id, handler)) | 使用构建器 API 注册同步函数 |
III::register_function(RegisterFunction::new_async(id, handler)) | 使用构建器 API 注册异步函数 |
III::register_function_with(msg, handler) | 用于注册函数的双参数便捷方法 |
RegisterFunction | 提供 .description() 和通过 schemars 自动生成请求架构的构建器 |
III::register_trigger(type, function_id, config) | 将触发器绑定到函数 |
III::trigger(TriggerRequest) | 调用函数 |
TriggerAction::Void | 即发即弃调用 |
TriggerAction::Enqueue { queue } | 持久化异步调用 |
IIIError | 处理程序失败的错误类型 |
Streams | 用于原子流 CRUD 的辅助工具 |
with_span, get_tracer, get_meter | OpenTelemetry(需要 otel 功能) |
execute_traced_request | 传播跟踪上下文的 HTTP 客户端 |
主要说明
- 在
Cargo.toml中添加features = ["otel"]以支持 OpenTelemetry - 同步处理程序使用
RegisterFunction::new("id", handler),异步处理程序使用RegisterFunction::new_async("id", handler) - 派生
schemars::JsonSchema的处理程序输入类型会自动生成请求架构 - 在
RegisterFunction上链式调用.description("..."),为函数添加说明 - 保持 tokio 运行时运行(例如,使用
tokio::time::sleep循环),以处理事件 register_trigger成功时返回Ok(());使用?传播错误
模式边界
- 用法模式和可运行示例,请参阅
iii-functions-and-triggers - Node.js SDK,请参阅
iii-node-sdk - Python SDK,请参阅
iii-python-sdk
适用场景
- 当任务主要涉及 iii 引擎中的
iii-rust-sdk时,使用此技能。 - 当请求直接询问此模式或等效实现时触发。
边界
- 切勿将此技能用作无关任务的通用兜底方案。
- 如果有更具体的 iii 技能更适合,则不得使用此技能。
- 应用此技能中的示例前,务必核实环境和安全约束。
评论
支持 Markdown