更新自定义算子

修改一个自定义算子的配置或代码。启用状态不能通过此接口修改,请使用专门的启用或停用操作。

PUT https://moi.matrixorigin.cn/newmoi/workflow/v2/custom-operators/$OPERATOR_ID

调用前准备

查询自定义算子详情,确认要修改的算子。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID 和自定义算子 ID。

下方示例使用:

  • $AI_STUDIO_API_KEY:实际个人访问令牌,通过 X-API-Key Header 传递。

  • $WORKSPACE_ID:目标工作区 ID,通过 X-Workspace-ID Header 传递。

  • $OPERATOR_ID:要更新的自定义算子 ID,从查询自定义算子列表响应中取得,并写入请求地址。

不要在请求体中传递 enabled;请使用启用自定义算子停用自定义算子

路径参数

参数

类型

是否必填

说明

operator_id

integer

要更新的自定义算子 ID,必须大于 0

请求体

所有字段均为可选;仅提交要修改的字段。

参数

类型

是否必填

说明

name

string

算子名称。

description

string

算子说明。

kind

string

算子类型。

language

string

算子实现语言。

handler

string

算子处理函数。

version

string

算子版本。

isolation_level

string

算子隔离配置。

input_schema

object

输入定义。

output_schema

object

输出定义。

code

string

源代码。

source_file_id

string

源文件 ID。

base_node_id

string

基础算子 ID。

base_node_version

string

基础算子版本。

binding_config

object

绑定配置。

catalog_id

integer

关联的 Catalog ID。

database_id

integer

关联的数据库 ID。

请求示例

curl -X PUT "https://moi.matrixorigin.cn/newmoi/workflow/v2/custom-operators/$OPERATOR_ID" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "统计输入文本的字符数,并返回结果。",
    "code": "def handle(workspace_id, sdk, input):\n    return {\"count\": len(input[\"text\"])}"
  }'

成功响应

响应返回更新后的算子配置。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "id": 123,
    "node_id": "moi:custom.operator:workspace:text_counter",
    "name": "文本计数",
    "description": "统计输入文本的字符数,并返回结果。",
    "enabled": true
  }
}

响应字段如下。

字段

类型

说明

code

string

成功时为 OK

msg

string

成功时为 OK

data.id

integer

自定义算子 ID。

data.node_id

string

工作流中的算子 ID。

data.name

string

算子名称。

data.identifier

string

算子标识。

data.description

string

更新后的算子说明;有值时返回。

data.handler

string

更新后的处理函数;有值时返回。

data.version

string

更新后的算子版本;有值时返回。

data.isolation_level

string

更新后的隔离配置;有值时返回。

data.language

integer

实现语言的数值编码;有值时返回。

data.kind

integer

算子类型的数值编码;有值时返回。

data.source_file_id

string

源文件 ID;使用源文件创建时返回。

data.input_schema

string

输入定义的序列化内容;有值时返回。

data.output_schema

string

输出定义的序列化内容;有值时返回。

data.binding_config

string

绑定配置的序列化内容;有值时返回。

data.created_by

string

创建者标识;有值时返回。

data.updated_by

string

最后更新者标识;有值时返回。

data.created_at

integer

创建时间戳;有值时返回。

data.updated_at

integer

最后更新时间戳;有值时返回。

data.base_node_id

string

内置绑定类型关联的基础算子;有值时返回。

data.base_node_version

string

内置绑定类型关联的基础算子版本;有值时返回。

data.catalog_id

integer

关联的 Catalog ID;有值时返回。

data.database_id

integer

关联的数据库 ID;有值时返回。

data.enabled

boolean

算子是否已启用。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}

常见 HTTP 错误

HTTP 状态码

错误代码

常见原因

建议操作

400

ErrParamInvalid

算子 ID 或请求体无效,或请求体包含 enabled

检查路径参数和请求字段;通过专用接口修改启用状态。

401

ErrUnauthorized

个人访问令牌缺失或无效。

检查个人访问令牌和工作区 ID。

403

ErrForbidden

当前身份没有更新权限。

使用有权限的凭据,或联系管理员授权。

404

ErrNotFound

算子不存在。

检查算子 ID。

409

ErrConflict

更新后的配置与已有资源冲突。

调整更新内容后重试。

500

ErrServer

服务暂时无法更新算子。

记录错误信息后重试。

后续操作

用同一资源标识查询自定义算子详情确认更新结果。

最后更新于