文档首页/ AI开发平台ModelArts/ API参考/ 开发环境管理/ 更新Notebook实例 - UpdateNotebook
更新时间:2026-01-08 GMT+08:00
分享

更新Notebook实例 - UpdateNotebook

功能介绍

更新Notebook实例接口用于修改Notebook实例的配置信息,包括名称、描述、规格和镜像等。该接口适用于以下场景:用户需要调整Notebook实例的配置以适应新的需求时,可通过此接口更新实例的详细信息。使用该接口的前提条件是用户已登录系统并具有操作目标Notebook实例的权限,同时Notebook实例必须处于停止状态。调用该接口后,系统将更新指定Notebook实例的配置信息。若用户无权限操作指定实例或Notebook实例未停止,接口将返回相应的错误信息。异常情况包括:若指定的Notebook实例不存在,或更新参数无效,接口将返回相应的错误提示。

接口约束

暂无约束

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    modelarts:notebook:update

    Write

    notebook *

    g:ResourceTag/<tag-key>

    -

    -

    -

    • g:EnterpriseProjectId

    • modelarts:poolType

    • modelarts:poolId

URI

PUT /v1/{project_id}/notebooks/{id}

表1 路径参数

参数

是否必选

参数类型

描述

id

String

参数解释:Notebook实例ID。ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID),可通过调用查询Notebook实例列表接口获取。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

project_id

String

参数解释:用户项目ID,获取方法请参见获取项目ID和名称

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

description

String

参数解释:支持更新实例描述信息。

约束限制:不涉及。

取值范围:长度限制为512字符,且不能包含字符&<>"'/。

默认取值:不涉及。

endpoints

Array of EndpointsReq objects

参数解释:仅在本地IDE(如PyCharm、VS Code)或SSH客户端接入Notebook。

约束限制:仅在本地IDE(如PyCharm、VS Code)或SSH客户端,通过SSH远程接入Notebook实例时需要的相关配置。

flavor

String

参数解释:支持变更实例的机器规格。支持变更的规格可以通过本章节的查询支持可切换规格列表的API获取。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

custom_spec

NotebookCustomSpec object

参数解释:实例的自定义规格参数,跟flavor字段不可同时填写。

约束限制:仅支持CPU或GPU专属池场景下根据专属池节点规格使用。

image_id

String

参数解释:支持更新镜像ID,镜像ID参考查询支持的镜像列表获取。

约束限制:不涉及。

取值范围:调用查询支持的镜像列表接口获取的合法镜像ID列表。

默认取值:不涉及。

name

String

参数解释:支持更新实例名称。

约束限制:不涉及。

取值范围:长度限制为128个字符,支持大小写字母、数字、中划线和下划线,名称可重复。

默认取值:不涉及。

storage_new_size

Integer

参数解释:EVS实例支持动态扩充的容量,单位GB。只允许扩容,不允许缩容。

约束限制:不涉及。

取值范围:最大允许扩容至4096。

默认取值:不涉及。

hooks

CustomHooks object

参数解释:支持更新实例启动脚本。

约束限制:不涉及。

affinity

AffinityType object

参数解释:支持更新亲和度设置。

约束限制:只有实例停止状态和启动失败状态下可更新。

表3 EndpointsReq

参数

是否必选

参数类型

描述

allowed_access_ips

Array of strings

参数解释:允许远程接入的公网IP地址列表,最多5个。

约束限制:不涉及。

service

String

参数解释:支持的服务。

约束限制:不涉及。

取值范围:枚举类型,取值如下:

  • NOTEBOOK:可以通过https协议访问Notebook。

  • SSH:可以通过SSH协议远程连接Notebook。

默认取值:不涉及。

key_pair_names

Array of strings

参数解释:SSH密钥对名称,可以在云服务器控制台(ECS)“密钥对”页面创建和查看。

约束限制:不涉及。

表4 NotebookCustomSpec

参数

是否必选

参数类型

描述

gpu

Float

参数描述

GPU专属池场景下若无需调度卡则填0,GPU专属池场景必填,代表实例申请的GPU卡数

参数约束

CPU专属池场景下请勿填写此字段,

单位:卡,最小值为0,最大值请根据申请的GPU专属池单节点规格约束;

cpu

Float

参数描述

CPU/GPU专属池场景下自定义规格必填,代表实例申请的CPU核数大小

参数约束

单位:核,需大于0.3核,最大值请根据申请的专属池单节点规格约束

memory

Float

参数描述

CPU/GPU专属池场景下自定义规格必填,代表实例申请的内存大小

参数约束

单位:MiB,大于512MiB的正整数,最大值请根据申请的专属池单节点规格约束

表5 CustomHooks

参数

是否必选

参数类型

描述

container_hooks

ContainerHooks object

参数解释:容器相关的钩子配置。

约束限制:不涉及。

表6 ContainerHooks

参数

是否必选

参数类型

描述

post_start

Config object

参数解释:启动服务后脚本配置。

约束限制:不涉及。

pre_start

Config object

参数解释:启动服务前脚本配置。

约束限制:不涉及。

表7 Config

参数

是否必选

参数类型

描述

script

String

参数解释:自定义脚本内容(base64编码)或脚本绝对路径。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:脚本类型。

约束限制:不涉及。

取值范围:枚举类型,取值如下:

  • COMMAND:script中需要指定脚本内容(base64编码)。

  • SCRIPT:script中需要指定脚本路径。

默认取值:SCRIPT。

表8 AffinityType

参数

是否必选

参数类型

描述

required_during_scheduling_ignored_during_execution

Array of AffinityRule objects

参数描述:

专属池场景下设置强亲和特性

参数约束:

key、values、operator必填

preferred_during_scheduling_ignored_during_execution

Array of AffinityRule objects

参数描述:

专属池场景下设置弱亲和特性

参数约束:

key、values、operator必填,weight选填

表9 AffinityRule

参数

是否必选

参数类型

描述

key

String

参数解释:亲和度描述具体信息。 该标签可以使用系统默认的标签,也可以使用自定义标签。系统默认的节点标签详情请参见管理节点标签

约束限制:标签是键值对。有效的标签键有两个段:可选的前缀和名称,用斜杠(/)分隔。

取值范围:名称段是必需的,必须小于等于 63 个字符,以字母数字字符([a-z0-9A-Z])开头和结尾, 带有破折号(-),下划线(_),点( .)和之间的字母数字;前缀是可选的。如果指定,前缀必须是 DNS 子域:由点(.)分隔的一系列 DNS 标签,总共不超过 253 个字符, 后跟斜杠(/).请参见标签和选择算符

默认取值:不涉及。

operator

String

参数解释:操作符

约束限制:不涉及

取值范围:可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。

In:亲和/反亲和对象的标签在标签值列表(values字段)中。

NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。

Exists:亲和/反亲和对象存在指定标签名。

DoesNotExist:亲和/反亲和对象不存在指定标签名。

Gt:调度节点的标签值大于列表值 (字符串比较)。

Lt:调度节点的标签值小于列表值 (字符串比较)。

默认取值:不涉及。

values

Array of strings

参数解释:设置节点亲和性时,填写节点标签对应的标签值

约束限制:必须为 63 个字符或更少(可以为空),除非标签值为空,必须以字母数字字符([a-z0-9A-Z])开头和结尾,包含破折号(-)、下划线(_)、点(.)和字母或数字

请参见标签和选择算符

weight

Integer

设置弱亲和节点的权重值,该值的取值应为0-100之间,强亲和该值为NULL,弱亲和该值可选

响应参数

状态码:200

表10 响应Body参数

参数

参数类型

描述

action_progress

Array of JobProgress objects

参数解释:实例初始化进度。

description

String

参数解释:实例描述。

取值范围:不涉及。

endpoints

Array of EndpointsRes objects

参数解释:本地IDE(如PyCharm、VS Code)或SSH客户端,通过SSH远程接入Notebook实例时需要的相关配置。

fail_reason

String

参数解释:实例失败原因。

取值范围:不涉及。

flavor

String

参数解释:实例规格,

1.当用户选择系统规格时,返回值为系统规格码;

2.当用户创建实例时选择了自定义规格,则此字段会固定返回"custom.flavor.spec.code"。

取值范围:不涉及。

custom_spec

NotebookCustomSpecRep object

参数解释:实例自定义规格详情,仅CPU/GPU专属池,用户自定义规格时返回。

取值范围:不涉及

id

String

参数解释:实例ID。

取值范围:不涉及。

image

Image object

参数解释:实例镜像信息。

lease

Lease object

参数解释:实例自动停止的倒计时信息。

name

String

参数解释:实例名称。

取值范围:不涉及。

pool

Pool object

参数解释:专属池的基本信息,在专属池中创建的实例会返回该字段。

status

String

参数解释:实例状态。

取值范围:枚举类型,取值如下:

  • INIT:初始化

  • CREATING:创建中

  • STARTING:启动中

  • STOPPING:停止中

  • DELETING:删除中

  • RUNNING:运行中

  • STOPPED:已停止

  • SNAPSHOTTING:快照中(保存镜像时的状态)

  • CREATE_FAILED:创建失败

  • START_FAILED:启动失败

  • DELETE_FAILED:删除失败

  • ERROR:错误

  • DELETED:已删除

  • FROZEN:冻结

token

String

参数解释:Notebook鉴权使用的token信息。

取值范围:不涉及。

url

String

参数解释:实例访问的URL。

取值范围:不涉及。

volume

VolumeRes object

参数解释:实例存储信息。

workspace_id

String

参数解释:工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。

取值范围:不涉及。

feature

String

参数解释:实例类别。

取值范围:枚举类型,取值如下:

  • DEFAULT:CodeLab免费规格实例,每个用户最多只能创建一个。

  • NOTEBOOK:计费规格实例。

billing_items

Array of strings

参数解释:计费资源类型。枚举类型,取值如下:

  • STORAGE:存储资源计费。

  • COMPUTE:计算资源计费。

  • ALL:所有计费类型。

user

user object

参数解释:账号信息。

affinity

AffinityType object

参数解释:亲和度信息

表11 JobProgress

参数

参数类型

描述

notebook_id

String

参数解释:实例ID。

取值范围:不涉及。

status

String

参数解释:任务某个步骤的状态。

取值范围:枚举类型,取值如下:

  • WAITING:等待中

  • PROCESSING:处理中

  • FAILED:任务失败

  • COMPLETED:任务完成

step

Integer

参数解释:任务的步骤。

取值范围:枚举类型,取值如下:

  • 1:准备存储

  • 2:准备计算资源

  • 3:配置网络

  • 4:初始化实例

step_description

String

参数解释:任务某个步骤的描述。

取值范围:不涉及。

表12 EndpointsRes

参数

参数类型

描述

allowed_access_ips

Array of strings

参数解释:允许通过SSH协议访问Notebook的公网IP地址白名单列表,默认都可以访问。当配置指定IP后,则仅允许IP所在的客户端实现对Notebook的访问。

dev_service

String

参数解释:访问Notebook的途径。

取值范围:枚举类型,取值如下:

  • NOTEBOOK:可以通过https协议访问Notebook。

  • SSH:可以通过SSH协议远程连接Notebook。

ssh_keys

Array of strings

参数解释:SSH密钥对名称列表,允许设置多个密钥对实现同时对SSH实例的访问。

service

String

参数解释:访问Notebook的途径。

取值范围:枚举类型,取值如下:

  • NOTEBOOK:可以通过https协议访问Notebook。

  • SSH:可以通过SSH协议远程连接Notebook。

uri

String

参数解释:实例私有IP地址。

取值范围:不涉及。

表13 NotebookCustomSpecRep

参数

参数类型

描述

gpu

Float

参数描述

GPU专属池场景下若无需调度卡则填0,GPU专属池场景必填,代表实例申请的GPU卡数

参数约束

CPU专属池场景下无此字段

gpu_type

String

参数描述

GPU专属池场景下自定义规格响应参数之一,代表实例申请的GPU加速卡类型

参数约束

CPU专属池场景下无此字段

cpu

Float

参数描述

CPU/GPU专属池场景下自定义规格必填,代表实例申请的CPU核数大小

memory

Float

参数描述

代表实例申请的内存大小

arch

String

参数描述

CPU/GPU专属池场景下自定义规格必填,代表实例申请的自定义规格CPU架构

参数约束

枚举类型,取值范围为“X86_64”或“AARCH64”

category

String

参数描述

CPU/GPU专属池场景下自定义规格必填,代表实例申请的自定义规格类型

参数约束

枚举类型,取值范围为“CPU”或“GPU”

表14 Image

参数

参数类型

描述

arch

String

参数解释:该镜像所支持处理器架构类型。

取值范围:枚举类型,取值如下:

  • X86_64:x86处理器架构。

  • AARCH64:ARM体系架构。

create_at

Long

参数解释:镜像创建的时间,UTC毫秒。

取值范围:不涉及。

description

String

参数解释:该镜像所对应的描述信息。

取值范围:长度限制512个字符。

dev_services

Array of strings

参数解释:镜像支持的服务。

取值范围:枚举类型,取值如下:

  • NOTEBOOK:镜像支持通过https协议访问Notebook。

  • SSH:镜像支持本地IDE通过SSH协议远程连接Notebook。

id

String

参数解释:待创建Notebook实例的镜像,需要指定镜像ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。预置镜像的ID参考查询支持的镜像列表获取。

取值范围:不涉及。

name

String

参数解释:镜像名称。

取值范围:长度限制512个字符,支持小写字母、数字、中划线、下划线和点。

namespace

String

参数解释:镜像所属组织,可以在SWR控制台“组织管理”创建和查看。

取值范围:不涉及。

origin

String

参数解释:指定镜像来源。

取值范围:枚举类型,取值如下:

  • CUSTOMIZE:用户自定义构建镜像。

  • IMAGE_SAVE:Notebook实例保存镜像。

resource_categories

Array of strings

参数解释:镜像支持的规格。枚举类型,取值如下:

  • CPU

  • GPU

  • ASCEND

service_type

String

参数解释:镜像支持服务类型。

取值范围:枚举类型,取值如下:

  • COMMON:通用镜像。

  • INFERENCE:建议仅在推理部署场景使用。

  • TRAIN:建议仅在训练任务场景使用。

  • DEV:建议仅在开发调测场景使用。

  • UNKNOWN:未明确设置的镜像支持的服务类型。

size

Long

参数解释:镜像大小(单位KB)。

取值范围:不涉及。

status

String

参数解释:镜像状态。

取值范围:枚举类型,取值如下:

  • INIT:初始化。

  • CREATING:镜像保存中,此时Notebook不可用。

  • CREATE_FAILED:镜像保存失败。

  • ERROR:错误。

  • DELETED:已删除。

  • ACTIVE:镜像保存成功,保存的镜像可以在SWR控制台查看,同时可以基于保存的镜像创建Notebook实例。

status_message

String

参数解释:镜像保存操作过程中,构建信息展示。

取值范围:不涉及。

support_res_categories

Array of strings

参数解释:镜像支持的规格。 枚举类型,取值如下:

  • CPU

  • GPU

  • ASCEND

swr_path

String

参数解释:SWR镜像地址。

取值范围:不涉及。

tag

String

参数解释:镜像Tag。

取值范围:不涉及。

type

String

参数解释:镜像类型。

取值范围:枚举类型,取值如下:

  • BUILD_IN:系统内置镜像。

  • DEDICATED:用户保存的镜像。

update_at

Long

参数解释:镜像最后更新的时间,UTC毫秒。

取值范围:不涉及。

visibility

String

参数解释:镜像可见度。

取值范围:枚举类型,取值如下:

  • PRIVATE:私有镜像。

  • PUBLIC:所有用户可以根据image_id来进行只读使用。

workspace_id

String

参数解释:工作空间ID。未创建工作空间时默认值为“0”,存在创建并使用的工作空间,以实际取值为准。

取值范围:不涉及。

flavor_type

String

参数解释:镜像的资源类型。

取值范围:枚举类型,取值如下:

  • ASCEND_SNT9:昇腾910芯片。

  • ASCEND_SNT9B:昇腾910B芯片。

  • ASCEND_SNT3:昇腾310芯片。

表15 Lease

参数

参数类型

描述

create_at

Long

参数解释:实例创建的时间,UTC毫秒。

取值范围:不涉及。

duration

Long

参数解释:实例运行时长,以创建时间为起点计算,即“创建时间+duration > 当前时刻”时,系统会自动停止实例。

取值范围:不涉及。

enable

Boolean

参数解释:是否启用自动停止功能。

取值范围:布尔类型:

  • true:启动自动停止功能。

  • false:关闭自动停止功能。

type

String

参数解释:自动停止类别。

取值范围:枚举类型,取值如下:

  • TIMING:自动停止。

  • IDLE:空闲停止。

update_at

Long

参数解释:实例最后更新(不包括探活心跳)的时间,UTC毫秒。

取值范围:不涉及。

表16 Pool

参数

参数类型

描述

id

String

参数解释:专属资源池ID。

取值范围:不涉及。

name

String

参数解释:专属资源池名称。

取值范围:不涉及。

表17 VolumeRes

参数

参数类型

描述

capacity

Integer

参数解释:存储容量。

取值范围:EVS默认5G,EFS默认50G,最大限制4096G。

category

String

参数解释:支持的存储类型。不同存储类型的差异,详见开发环境中如何选择存储

取值范围:枚举类型,取值如下:

  • SFS:弹性文件服务

  • EVS:云硬盘

  • OBS:对象存储服务

  • OBSFS:并行文件系统

  • EFS:弹性文件服务(SFS Turbo)

mount_path

String

参数解释:存储挂载至Notebook实例的目录,当前固定在/home/ma-user/work/下。

取值范围:不涉及。

ownership

String

参数解释:资源所属。

取值范围:枚举类型,取值如下:

  • MANAGED:托管,即资源在服务上。

  • DEDICATED:非托管,即资源在用户账号上,只有在category为EFS时支持。

status

String

参数解释:EVS扩容状态,扩容时的状态为RESIZING,此时实例可以正常使用。

取值范围:不涉及。

表18 user

参数

参数类型

描述

domain

domain object

参数解释:账号domain信息。

id

String

参数解释:用户ID。获取方法请参见获取用户ID和名称

取值范围:不涉及。

name

String

参数解释:用户名。

取值范围:不涉及。

表19 domain

参数

参数类型

描述

id

String

参数解释:账号ID。

取值范围:不涉及。

name

String

参数解释:账号名。

取值范围:不涉及。

表20 AffinityType

参数

参数类型

描述

required_during_scheduling_ignored_during_execution

Array of AffinityRule objects

参数描述:

专属池场景下设置强亲和特性

参数约束:

key、values、operator必填

preferred_during_scheduling_ignored_during_execution

Array of AffinityRule objects

参数描述:

专属池场景下设置弱亲和特性

参数约束:

key、values、operator必填,weight选填

表21 AffinityRule

参数

参数类型

描述

key

String

参数解释:亲和度描述具体信息。 该标签可以使用系统默认的标签,也可以使用自定义标签。系统默认的节点标签详情请参见管理节点标签

约束限制:标签是键值对。有效的标签键有两个段:可选的前缀和名称,用斜杠(/)分隔。

取值范围:名称段是必需的,必须小于等于 63 个字符,以字母数字字符([a-z0-9A-Z])开头和结尾, 带有破折号(-),下划线(_),点( .)和之间的字母数字;前缀是可选的。如果指定,前缀必须是 DNS 子域:由点(.)分隔的一系列 DNS 标签,总共不超过 253 个字符, 后跟斜杠(/).请参见标签和选择算符

默认取值:不涉及。

operator

String

参数解释:操作符

约束限制:不涉及

取值范围:可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。

In:亲和/反亲和对象的标签在标签值列表(values字段)中。

NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。

Exists:亲和/反亲和对象存在指定标签名。

DoesNotExist:亲和/反亲和对象不存在指定标签名。

Gt:调度节点的标签值大于列表值 (字符串比较)。

Lt:调度节点的标签值小于列表值 (字符串比较)。

默认取值:不涉及。

values

Array of strings

参数解释:设置节点亲和性时,填写节点标签对应的标签值

约束限制:必须为 63 个字符或更少(可以为空),除非标签值为空,必须以字母数字字符([a-z0-9A-Z])开头和结尾,包含破折号(-)、下划线(_)、点(.)和字母或数字

请参见标签和选择算符

weight

Integer

设置弱亲和节点的权重值,该值的取值应为0-100之间,强亲和该值为NULL,弱亲和该值可选

状态码:201

Created

请求示例

  • 更新Notebook实例。在实例停止状态下和启动失败状态下可以进行该操作。强亲和/弱亲和更新值二选一,根据输入的值进行亲和度配置更新

    {
      "affinity" : {
        "required_during_scheduling_ignored_during_execution" : [ {
          "key" : "kubernetes.io/hostname",
          "operator" : "In",
          "values" : [ "192.168.1.1" ]
        } ],
        "preferred_during_scheduling_ignored_during_execution" : [ {
          "key" : "kubernetes.io/hostname",
          "operator" : "In",
          "values" : [ "192.168.1.1" ]
        } ]
      }
    }
  • 两者二选一,表示无需修改

    {
      "affinity" : {
        "required_during_scheduling_ignored_during_execution" : null,
        "preferred_during_scheduling_ignored_during_execution" : null
      }
    }
  • 表示关闭亲和度设置,亲和度设置清空

    {
      "affinity" : {
        "required_during_scheduling_ignored_during_execution" : [ ],
        "preferred_during_scheduling_ignored_during_execution" : [ ]
      }
    }
  • 更新notebook实例时,表示无需更新

    {
      "affinity" : null
    }

响应示例

状态码:200

OK

{
  "affinity" : {
    "required_during_scheduling_ignored_during_execution" : [ {
      "key" : "kubernetes.io/hostname",
      "operator" : "In",
      "values" : [ "192.168.1.1" ]
    } ],
    "preferred_during_scheduling_ignored_during_execution" : [ {
      "key" : "kubernetes.io/hostname",
      "operator" : "In",
      "values" : [ "192.168.1.1" ]
    } ]
  }
}

状态码

状态码

描述

200

OK

201

Created

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码

相关文档