工作区¶
Workspace 是 AI Studio 的顶层资源隔离单位。连接器、Catalog 对象、计算资源、工作流、 知识库和智能体等资源都属于某个 Workspace;控制台路由和后台请求也带有 Workspace 上下文。
当前 SDK 的能力边界¶
截至当前公开版本,MOI Python SDK 和 Go SDK 都没有提供以下方法:
列举、创建、重命名或删除 Workspace;
通过 Workspace ID 切换
RawClient;在调用选项中设置 Workspace ID。
两个 SDK 的 RawClient 只接收 Catalog Service 的 Base URL 和 API Key。公开请求会自动
携带 moi-key,但客户端不会公开或改写 Workspace 上下文。因此,不要自行猜测
Workspace 请求头、查询参数或端点,也不要把控制台路由 /$workspaceId/ 直接拼接到
SDK Base URL。
为目标 Workspace 创建客户端¶
从目标环境的正式接入信息中取得 Catalog Service Base URL 和对应 API Key:
import os
from moi import RawClient
client = RawClient(
base_url=os.environ["MOI_BASE_URL"],
api_key=os.environ["MOI_API_KEY"],
)
client, err := sdk.NewRawClient(
os.Getenv("MOI_BASE_URL"),
os.Getenv("MOI_API_KEY"),
)
if err != nil {
log.Fatal(err)
}
应用应把这组连接信息与自己的环境或 Workspace 配置一起保存,并通过一次只读调用验证 目标,例如读取当前用户或列出 Catalog。SDK 返回的资源没有公开 Workspace ID 字段时, 不要据此反推或展示一个 Workspace。
多 Workspace 集成¶
需要连接多个 Workspace 时,为每组由部署方确认的 Base URL 和 API Key 分别创建客户端, 不要在一个客户端上注入未文档化的 Workspace 请求头。
建议把本地连接配置设计为:
本地配置 |
用途 |
|---|---|
业务侧 Workspace 别名 |
供应用选择,不发送给 SDK |
Catalog Service Base URL |
构造 |
密钥引用 |
从密钥管理系统取得 API Key |
验证信息 |
保存最近一次验证时间和非敏感当前用户 ID |
跨 Workspace 批处理应拆成独立执行单元,分别限流、重试和记录 Request ID。资源 ID 只在 其所属服务上下文中使用;不要假设两个 Workspace 的同名或同 ID 对象相同。
工作区操作¶
创建、重命名、删除和复制 Workspace ID 目前应通过控制台或部署方正式提供的管理接口 完成。产品操作见工作区。 当公开 SDK 增加 Workspace 类型和方法后,再以对应版本的源码与发布说明为准。