Skip to content

Notebook

创建Notebook实例

1.接口说明

接口路径:/ac/openapi/v2/notebook/actions/create

请求方式:POST

请求数据类型:

接口描述:创建Notebook实例

2.请求消息

请求参数:

Headers:

名称类型必填描述示例
tokenstring接口凭证eyJhbGciOiJIUzI1N...

参数:

名称类型必填描述示例
clusterIdstring区域ID11250
imagePathstring镜像地址Image.ac.com:5000/dcu/admin/base/jupyterlab:3.2.9-python3.8.3-dtk22.04.1
imageNamestring镜像名称jupyterlab:3.2.9-python3.8.3-dtk22.04.1
imageSizestring镜像大小120GB
acceleratorTypestring加速器类型DCU
acceleratorNumberstring加速器数量1
resourceGroupCodestring资源分组codenv4090normalfea13c83
mountHomeboolean是否挂载用户主目录,默认truetrue
startCommandstring启动容器时指定的命令,随容器启动同步执行python ~/train.py
mountInfoarray自定义挂载信息
sourcePathstring挂载源路径(用户主目录下路径)/public/home/sugon
targetPathstring挂载目标路径/opt/sugon_data
permissionstring权限(ro、rw)默认rorw

3.请求示例

cURL请求示例

shell
curl --location --request POST 'https://scnet-demo.accloud.cn/ac/openapi/v2/notebook/actions/create' \
--header 'token: <Token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "resourceGroupCode": "ks100ksa048d1a0",
    "acceleratorNumber": "1",
    "acceleratorType": "DCU",
    "clusterId": "200185",
    "imageName": "jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10",
    "imagePath": "image.ac.com:5000/dcu/admin/base/jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10",
	"imageSize": "7338398370",
	"mountHome": false,
	"startCommand": "sleep 100",
	"mountInfo": [
		 "sourcePath": "/public/home/test/data",
      	 "targetPath": "/root/test",
		 "permission": "rw"
	]
}'

Java请求示例

java
import okhttp3.*;

public class CreateNotebookDemo {

    public static final String TOKEN = "<Token>";
    public static final String URL = "https://scnet-demo.accloud.cn/ac/openapi/v2/notebook/actions/create";

    public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient().newBuilder().build();
        
        MediaType mediaType = MediaType.parse("application/json");
        
        String jsonBody = "{\n" +
                "  \"resourceGroupCode\": \"ks100ksa048d1a0\",\n" +
                "  \"acceleratorNumber\": \"1\",\n" +
                "  \"acceleratorType\": \"DCU\",\n" +
                "  \"clusterId\": \"200185\",\n" +
                "  \"imageName\": \"jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10\",\n" +
                "  \"imagePath\": \"image.ac.com:5000/dcu/admin/base/jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10\",\n" +
                "  \"imageSize\": \"7338398370\",\n" +
                "  \"mountHome\": false,\n" +
                "  \"startCommand\": \"sleep 100\",\n" +
                "  \"mountInfo\": [\n" +
                "    {\n" +
                "      \"sourcePath\": \"/public/home/test/data\",\n" +
                "      \"targetPath\": \"/root/test\",\n" +
                "      \"permission\": \"rw\"\n" +
                "    }\n" +
                "  ]\n" +
                "}";

        RequestBody body = RequestBody.create(mediaType, jsonBody);
        Request request = new Request.Builder()
                .url(URL)
                .method("POST", body)
                .addHeader("token", TOKEN)
                .addHeader("Content-Type", "application/json")
                .build();
        
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}

Python请求示例

python
import requests
import json

url = "https://scnet-demo.accloud.cn/ac/openapi/v2/notebook/actions/create"

payload = json.dumps({
    "resourceGroupCode": "ks100ksa048d1a0",
    "acceleratorNumber": "1",
    "acceleratorType": "DCU",
    "clusterId": "200185",
    "imageName": "jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10",
    "imagePath": "image.ac.com:5000/dcu/admin/base/jupyterlab-pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10",
    "imageSize": "7338398370",
    "mountHome": False,
    "startCommand": "sleep 100",
    "mountInfo": [
        {
            "sourcePath": "/public/home/test/data",
            "targetPath": "/root/test",
            "permission": "rw"
        }
    ]
})

headers = {
    "token": "<Token>",
    "Content-Type": "application/json"
}

response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

4.响应消息

返回参数:

名称类型描述示例
msgstring信息success
codestring状态码0
dataobject任务信息
taskIdstring任务ID1821067185941626882
notebookIdstringNotebookID1821067171420946434

返回示例:

json
{
 "code":"0",
 "msg":"success",
 "data":{
    "taskId": "1821067185941626882",
    "notebookId": "1821067171420946434"
 }
}

5.错误码

错误码说明
0成功
10001内部错误
10003参数不全
10004参数无效
10007用户已被冻结
10008权限不足
10009没有权限访问接口
10010文件校验失败
10011文件过大
10012连接中断
716865创建任务错误