更新时间:2024-11-22 GMT+08:00
分享

创建Notebook实例

功能介绍

创建Notebook实例,可以根据您指定的实例规格,不同AI引擎镜像,存储等相关参数,为您创建一个Notebook,您可以通过网页和SSH客户端访问Notebook实例。

该接口为异步操作,创建Notebook实例的状态请通过查询Notebook实例详情接口获取。

接口约束

暂无约束

调试

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

URI

POST /v1/{project_id}/notebooks

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

description

String

实例描述信息,长度限制为512字符,且不能包含字符&<>"'/。

duration

Long

以当前时刻为起点,运行的时长(到期后自动停止),推荐该属性在leaseReq中配置,若此处有值则忽略leaseReq的值,且实例自动停止类型为定时停止。单位:毫秒。

endpoints

Array of EndpointsReq objects

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

feature

String

实例类别,默认为NOTEBOOK。枚举值:

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

  • NOTEBOOK:计费规格实例。

flavor

String

实例的机器规格。如下规格仅供参照,实际支持规格以具体区域为准。

  • modelarts.vm.cpu.2u:Intel CPU通用规格,用于快速数据探索和实验。

  • modelarts.vm.cpu.8u:Intel CPU算力增强型,适用于密集计算场景下运算。

image_id

String

待创建Notebook实例的镜像,需要指定镜像ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。镜像的ID可通过调用查询支持的镜像列表接口获取。

name

String

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

pool_id

String

专属资源池ID,若需要指定专属资源池创建实例时必填,示例:pool41664192。

volume

VolumeReq object

存储配置。

workspace_id

String

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

hooks

CustomHooks object

自定义启动脚本钩子配置。

lease

LeaseReq 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 VolumeReq

参数

是否必选

参数类型

描述

capacity

Integer

存储容量,EVS默认5G,最大限制4096G。

category

String

支持的存储类型。不同存储类型的差异,详见开发环境中如何选择存储。枚举值如下:

  • SFS:弹性文件服务

  • EVS:云硬盘

ownership

String

资源所属,枚举值如下:

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

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

uri

String

EFS专属存储盘uri,只有当category为EFS,同时ownership为DEDICATED时必填。

登录弹性文件服务控制台,在文件系统列表中,单击文件系统名称进入详情页。其中,“共享路径”即为此参数的参数值。

id

String

EFS专属存储盘ID,只有当category为EFS,同时ownership为DEDICATED时必填。必填。

参数值获取方式如下:登录弹性文件服务控制台,在文件系统列表中,单击文件系统名称进入详情页。其中,“ID”即为此参数的参数值。

表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中需要指定脚本路径。

表8 LeaseReq

参数

是否必选

参数类型

描述

duration

Long

定时停止,以当前时刻为起点,运行的时长(到期后自动停止)。单位:毫秒。

type

String

自动停止类别,默认为timing。

响应参数

状态码: 200

表9 响应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

实例规格。

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

账号信息

表10 JobProgress

参数

参数类型

描述

notebook_id

String

实例ID。

status

String

任务某个步骤的状态。枚举值如下:

  • WAITING:等待中

  • PROCESSING:处理中

  • FAILED:任务失败

  • COMPLETED:任务完成

step

Integer

任务的步骤。枚举值如下:

  • 1:准备存储

  • 2:准备计算资源

  • 3:配置网络

  • 4:初始化实例

step_description

String

任务某个步骤的描述。

表11 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地址。

表12 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。枚举值如下:

  • 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: 所有用户可以根据ImageId来进行只读使用。

workspace_id

String

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

表13 Lease

参数

参数类型

描述

create_at

Long

实例创建的时间,UTC毫秒。

duration

Long

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

enable

Boolean

是否启用自动停止功能。

type

String

自动停止类别。

  • timing:自动停止。

  • idle:空闲停止。

update_at

Long

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

表14 Pool

参数

参数类型

描述

id

String

专属资源池ID。

name

String

专属资源池名称。

表15 VolumeRes

参数

参数类型

描述

capacity

Integer

存储容量,EVS默认5G,EFS默认50G,最大限制4096G。

category

String

支持的存储类型。不同存储类型的差异,详见开发环境中如何选择存储。枚举值如下:

  • SFS:弹性文件服务

  • EVS:云硬盘

mount_path

String

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

ownership

String

资源所属,枚举值如下:

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

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

status

String

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

表16 user

参数

参数类型

描述

domain

domain object

账号domain信息

id

String

IAM用户ID

name

String

IAM用户名

表17 domain

参数

参数类型

描述

id

String

账号ID

name

String

账号名

请求示例

创建Notebook实例。设置实例规格为“modelarts.vm.cpu.2u”,存储类型为“EVS”,资源所属为“MANAGED”,存储容量为50G。

{
  "name" : "notebooks_test",
  "feature" : "NOTEBOOK",
  "workspace_id" : "0",
  "description" : "api-test",
  "flavor" : "modelarts.vm.cpu.2u",
  "image_id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090",
  "volume" : {
    "category" : "evs",
    "ownership" : "managed",
    "capacity" : 50
  }
}

响应示例

状态码: 200

OK

{
  "description" : "api-test",
  "feature" : "NOTEBOOK",
  "flavor" : "modelarts.vm.cpu.2u",
  "id" : "f9937afa-4451-42db-a76b-72d624749f66",
  "image" : {
    "description" : "description",
    "id" : "e1a07296-22a8-4f05-8bc8-e936c8e54090",
    "name" : "notebook2.0-mul-kernel-cpu-cp36",
    "swr_path" : "swr.xxxxx.com/atelier/notebook2.0-mul-kernel-cpu-cp36:3.3.2-release_v1",
    "tag" : "3.3.2-release_v1",
    "type" : "BUILD_IN"
  },
  "lease" : {
    "create_at" : 1638841744515,
    "duration" : 3600000,
    "enable" : true,
    "type" : "TIMING",
    "update_at" : 1638841744515
  },
  "name" : "notebooks_test",
  "status" : "CREATING",
  "token" : "3eff13f2-3d70-5456-6dc7-e3f99f562022",
  "workspace_id" : "0"
}

状态码

状态码

描述

200

OK

201

Created

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码

相关文档