读取资源清单¶
分别读取工作区目录、工作流、计算资源和知识库,输出资源标识以供选择。
准备¶
读取各类清单¶
示例分别调用各类清单接口,并输出名称和 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_id = os.environ["WORKSPACE_ID"]
workspace = client.workspace(workspace_id)
catalogs = workspace.catalog().list()
for item in catalogs.list:
print("Catalog:", item.id, item.name)
workflows = workspace.workflows().list()
for item in workflows.workflows:
print("工作流:", item.id, item.name, item.status)
for item in workspace.compute().list():
print("计算资源:", item.id, item.name)
knowledge = workspace.knowledge().list()
for item in knowledge.items:
print("知识库:", item.id, item.name)
print("知识库下一页标记:", knowledge.next_page_token)
package main
import (
"context"
"fmt"
"os"
sdk "github.com/matrixorigin/matrixflow/sdk/go-sdk"
)
func main() {
ctx := context.Background()
client, err := sdk.NewWithPersonalAccessToken(os.Getenv("PRODUCT_API_BASE_URL"), os.Getenv("PRODUCT_API_KEY"))
if err != nil {
panic(err)
}
workspaceID := os.Getenv("WORKSPACE_ID")
workspace, err := client.Workspace(workspaceID)
if err != nil {
panic(err)
}
_ = workspace
catalogs, err := workspace.Catalog().List(ctx)
if err != nil {
panic(err)
}
for _, item := range catalogs.GetList() {
fmt.Println("Catalog:", item.GetId(), item.GetName())
}
workflows, err := workspace.Workflows().List(ctx)
if err != nil {
panic(err)
}
for _, item := range workflows.GetWorkflows() {
fmt.Println("工作流:", item.GetId(), item.GetName(), item.GetStatus())
}
compute, err := workspace.Compute().List(ctx)
if err != nil {
panic(err)
}
for _, item := range compute {
fmt.Println("计算资源:", item.GetId(), item.GetName())
}
knowledge, err := workspace.Knowledge().List(ctx)
if err != nil {
panic(err)
}
for _, item := range knowledge.GetItems() {
fmt.Println("知识库:", item.GetId(), item.GetName())
}
fmt.Println("知识库下一页标记:", knowledge.GetNextPageToken())
}
输出按资源类型列出 ID 和名称。各清单分别分页,示例展示当前返回的一页资源。
最后更新于