部署工作流¶
使用 AI Studio SDK 将工作流定义部署到指定工作区。部署时由调用方提供工作流 ID;部署成功后返回绑定该 ID 的工作流引用,可继续用于启动运行。
任务流程¶
准备工作区、工作流名称、DSL 内容和工作流 ID。提交部署后保存工作流引用;部署请求返回不表示该工作流已经运行。需要执行时,在运行页面使用同一工作流 ID 启动一次运行。
准备¶
需要的内容 |
如何取得 |
在本页中的作用 |
|---|---|---|
已认证的客户端和工作区 ID |
确定部署的资源作用域。 |
|
工作流名称、DSL 内容和工作流 ID |
由工作流设计和调用方提供。 |
创建工作流定义并确定后续运行使用的标识。 |
本页只提交工作流定义,不解释 DSL 的语义,也不启动运行。
提交部署¶
下面的示例部署工作流,并保存返回的工作流引用。工作流 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>")
workflow, deployment = workspace.deploy_workflow(
"<workflow-name>",
"<workflow-dsl-yaml>",
"<workflow-id>",
sdk.with_workflow_description("<workflow-description>"),
)
print(workflow.id)
print(deployment)
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)
}
workspace, err := client.Workspace("<workspace-id>")
if err != nil {
panic(err)
}
workflow, deployment, err := workspace.DeployWorkflow(
ctx,
"<workflow-name>",
"<workflow-dsl-yaml>",
"<workflow-id>",
sdk.WithWorkflowDescription("<workflow-description>"),
)
if err != nil {
panic(err)
}
fmt.Println(workflow.ID())
fmt.Println(deployment)
}
下一步¶
部署后的工作流引用和工作流 ID 可交给运行并跟踪工作流启动一次运行。运行前仍需根据该工作流的输入定义准备本次输入。
最后更新于