用途:iii-python-sdk 是 iii 引擎的异步 Python SDK,用于将 worker 连接到 iii 引擎,并在 Python 中注册函数、绑定触发器、调用函数。
安装:pip install iii-sdk。完整 API 参考:https://iii.dev/docs/api-reference/sdk-python。
主要导出:register_worker(address, options?) 连接引擎并返回客户端;InitOptions(worker_name, otel?) 连接配置;register_function(id, handler) 注册异步函数处理器;register_trigger(type, function_id, config) 将触发器绑定到函数,另有带 metadata? 的重载;trigger(request) 同步调用函数;trigger_async(request) 异步调用函数;get_context() 在处理器内访问 logger 与 trace 上下文;ApiRequest / ApiResponse 为 HTTP 请求/响应类型(pydantic);IStream 为自定义流实现接口;on_connection_state_change(callback) 监控连接状态。
用法要点:register_worker() 返回同步客户端,而处理器是异步的;ApiResponse 使用 camelCase 的 statusCode(pydantic 别名),不是 status_code;worker 需以 while True: await asyncio.sleep(60) 保持事件循环存活;处理器内 CPU 密集的同步工作应使用 asyncio.to_thread()。异步处理器内用 trigger_async,同步脚本或线程中需要阻塞行为时用 trigger。发现读取与拓扑订阅可通过 trigger() / trigger_async() 调用引擎内置函数,并用 register_trigger() 绑定 engine::functions-available。
适用场景:构建 worker、注册函数、调用触发器,以及需要 HTTP 中间件、Node.js/Rust/浏览器端等对应 SDK 时参考相应技能。限制:不应作为无关任务的通用兜底,若有更具体的 iii 技能则不应使用本技能;应用示例前需先确认环境与安全约束。