AI Studio SDK 的工作区与资源模型

AI Studio SDK 以工作区划定资源作用域。本页说明如何用已知工作区 ID 建立作用域,并从该作用域继续访问数据、工作流、连接器等资源。

对象关系

客户端负责认证和发起请求。工作区引用保存工作区 ID;从它取得的资源引用会继续带有相同的工作区作用域。资源引用保存的是标识,不会因为创建引用而读取、验证或刷新远端资源。

客户端
└── 工作区
    ├── 数据资源
    ├── 工作流和运行
    ├── 连接器和任务
    └── 其他工作区资源

绑定已有工作区

准备一个由创建、列表或操作者选择得到的工作区 ID。以下示例只建立作用域,不会创建工作区或查询该 ID 是否存在。后续示例应继续使用同一工作区引用,避免把显示名称当作资源 ID。

import os

import moi_product_sdk as sdk

client = sdk.new_with_personal_access_token(
    os.environ["PRODUCT_API_BASE_URL"],
    os.environ["PRODUCT_API_KEY"],
)
workspace = client.workspace("<workspace-id>")
package main

import (
	"fmt"
	"os"

	sdk "github.com/matrixorigin/matrixflow/sdk/go-sdk"
)

func main() {
	client, err := sdk.NewWithPersonalAccessToken(
		os.Getenv("PRODUCT_API_BASE_URL"),
		os.Getenv("PRODUCT_API_KEY"),
	)
	if err != nil {
		panic(err)
	}
	workspace, err := client.Workspace("<workspace-id>")
	if err != nil {
		panic(err)
	}
	fmt.Println(workspace.ID())
}

如果需要按名称查找或在缺失时创建工作区,请使用快速开始中的相应流程。该流程会先查找同名的可见工作区,并可能写入新工作区,因此不适合只读操作。

读取工作区范围的信息

建立工作区作用域后,可以读取数据库连接信息或最近的失败审计记录。连接信息可能包含敏感配置;只在建立连接所需的位置使用,不要写入日志。

connection = workspace.db_connection()
failed_logs = workspace.recent_failed_audit_logs(20)

print(connection)
print(failed_logs)
ctx := context.Background()
connection, err := workspace.DBConnection(ctx)
if err != nil {
	panic(err)
}
failedLogs, err := workspace.RecentFailedAuditLogs(ctx, 20)
if err != nil {
	panic(err)
}

_ = connection
_ = failedLogs

失败审计读取需要正数数量上限,并且只返回失败记录。读取结果反映这次请求的返回内容;如果下一步依赖资源的当前状态,请在该资源的任务页重新读取。

下一步

最后更新于