部署工作流

使用 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 可交给运行并跟踪工作流启动一次运行。运行前仍需根据该工作流的输入定义准备本次输入。

最后更新于