notebooks


URI

<portal_uri>/notebooks[.<format>]

支持的方法

GETPOSTDELETEHEAD

父资源

portal

子资源

notebooknotebooksShareSettingnotebookUserToken

介绍

notebooks 资源是数据科学服务的根节点。

支持的方法:

支持的表述格式:RJSON、JSON、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。

http://supermapiportal:8190/iportal/web/notebooks.rjson

GET 请求

查询 Notebook 资源列表。

请求参数

如果参数未设置,则返回所有的 Notebook 资源列表,设置参数后,会返回用户指定的 Notebook 列表信息,请求参数必须包含在 URI 中。

名称 类型 含义
permissionType String 根据资源的权限类型过滤。
orderBy OrderBy 根据排序类型过滤。
orderType OrderType 排序结果升序/降序展示。
currentPage int 根据分页页码过滤。
searchScope SearchScope 根据资源查询范围过滤,如查询公开的资源、分享给我的资源等。
keywords String[] 根据关键字查询。
isNotInDir Boolean 根据是否是未分组的进行过滤,默认值为 false。如果为 true,则返回所有未分组的 Notebook 列表信息;如果为 false,则返回全部的 Notebook 列表信息。
未分组是指未添加到目录的 Notebook 资源。
pageSize int 分页中每页大小。
filterFields FilterFields[] 用于关键字查询时的字段过滤。字段名称需大写。例如:根据 Notebook 创建者的关键字符过滤,则需要设置 keywords=["admin"]&filterFields=["NICKNAME"]。
createStart Long 查询此时间值及此时间值之后创建的 Notebook,如果为null或者小于0,则起始时间不限制。
createEnd Long 查询此时间值及此时间值之前创建的 Notebook,如果为null或者小于0,则截止时间不限制。
userName String 根据反馈者用户名过滤。

响应结构

对 notebooks 资源执行 GET 请求,返回 Notebook 资源列表信息。由以下字段组成:

字段 类型 说明
currentPage int 当前第几页。
content String Notebook 的具体内容,包括元数据、单元格类型、输入与输出结果。
pageSize int 每页大小。
searchParameter NotebookSearchParameter 当前页搜索参数。
total int 总记录数。
totalPage int 总页数

响应示例

对 notebooks 资源:http://localhost:8190/iportal/web/notebooks.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:

{

    "total": 2,

    "totalPage": 1,

    "pageSize": 10,

    "searchParameter": {

        "permissionType": null,

        "orderType": "ASC",

        "keywords": null,

        "returnSubDir": null,

        "shareToMe": null,

        "searchScope": null,

        "orderBy": null,

        "isNotInDir": false,

        "pageSize": 10,

        "dirIds": null,

        "filterFields": null,

        "departmentIds": null,

        "createStart": -1,

        "currentUser": null,

        "createEnd": -1,

        "groupIds": null,

        "userNames": null,

        "currentPage": 1,

        "resourceIds": null

    },

    "currentPage": 1,

    "content": [

        {

            "thumbnail": "",

            "visitCount": 0,

            "createTime": 1598859919084,

            "name": "example_query_data",

            "nickname": "supermap_cloud",

            "authorizeSetting": [

                {

                    "permissionType": "DELETE",

                    "aliasName": "supermap_cloud",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "supermap_cloud",

                    "entityId": null

                },

                {

                    "permissionType": "READ",

                    "aliasName": "GUEST",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "GUEST",

                    "entityId": null

                }

            ],

            "description": "该notebook演示了对UDB数据的范围、属性、距离、空间查询。",

            "updateTime": 1598859919084,

            "id": 1,

            "userName": "supermap_cloud",

            "content": null,

            "tags": null

        },

        {

            "thumbnail": "",

            "visitCount": 3,

            "createTime": 1598860020671,

            "name": "example_density_analyst",

            "nickname": "supermap_cloud",

            "authorizeSetting": [

                {

                    "permissionType": "DELETE",

                    "aliasName": "supermap_cloud",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "supermap_cloud",

                    "entityId": null

                },

                {

                    "permissionType": "READ",

                    "aliasName": "GUEST",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "GUEST",

                    "entityId": null

                }

            ],

            "description": "该notebook演示了点密度和核密度分析。",

            "updateTime": 1598860020671,

            "id": 2,

            "userName": "supermap_cloud",

            "content": null,

            "tags": null

        }

    ]

}

如果希望获取指定条件的 Notebook 资源列表信息,如根据 Notebook 的关键字符过滤,则需要设置 keywords=["example_density_analyst"],即对资源:http://localhost:8190/iportal/web/notebooks.rjson?keywords=["example_density_analyst"] 执行 GET 请求,返回的 rjson 格式的资源表述如下:

{

    "total": 1,

    "totalPage": 1,

    "pageSize": 10,

    "searchParameter": {

        "permissionType": null,

        "orderType": "ASC",

        "keywords": [

            "example_density_analyst"

        ],

        "returnSubDir": null,

        "shareToMe": null,

        "searchScope": null,

        "orderBy": null,

        "isNotInDir": false,

        "pageSize": 10,

        "dirIds": null,

        "filterFields": null,

        "departmentIds": null,

        "createStart": -1,

        "currentUser": null,

        "createEnd": -1,

        "groupIds": null,

        "userNames": null,

        "currentPage": 1,

        "resourceIds": null

    },

    "currentPage": 1,

    "content": [

        {

            "thumbnail": "",

            "visitCount": 3,

            "createTime": 1598860020671,

            "name": "example_density_analyst",

            "nickname": "supermap_cloud",

            "authorizeSetting": [

                {

                    "permissionType": "DELETE",

                    "aliasName": "supermap_cloud",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "supermap_cloud",

                    "entityId": null

                },

                {

                    "permissionType": "READ",

                    "aliasName": "GUEST",

                    "entityRoles": [],

                    "entityType": "USER",

                    "entityName": "GUEST",

                    "entityId": null

                }

            ],

            "description": "该notebook演示了点密度和核密度分析。",

            "updateTime": 1598860020671,

            "id": 2,

            "userName": "supermap_cloud",

            "content": null,

            "tags": null

        }

    ]

}

POST 请求

创建一个新的 Notebook 资源。

请求参数

请求体中传递如下参数:

名称 类型 含义
content String 【必填参数】
Notebook 的具体内容,包括元数据、单元格类型、当前输入与输出结果。

name

String 【必填参数】
Notebook 的名称。
tags List<String> Notebook 的标签。
thumbnail String Notebook 的缩略图。
description String Notebook 的描述信息。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean Notebook 资源的创建是否成功。
newResourceID String Notebook 资源的ID。
newResourceLocation String Notebook 资源的URL。

响应示例

对 notebooks 资源:http://supermapiportal:8190/iportal/web/notebooks.rjson 执行 POST 请求,发送请求体如下:

{

    "content": {

        "metadata": {

            "language_info": {

                "name": ""

            },

            "kernelspec": {

                "name": "",

                "display_name": ""

            }

        },

        "nbformat_minor": 4,

        "nbformat": 4,

        "cells": [

            {

                "cell_type": "code",

                "source": "pint\ndj  dlfj ",

                "metadata": {},

                "execution_count": null,

                "outputs": []

            }

        ]

    },

    "name": "nbfirst",

    "tags": null,

    "thumbnail": null,

    "description": null

}

则返回的rjson格式响应结果如下:

{

    "newResourceID": "961431779",

    "succeed": true,

    "newResourceLocation": "http://127.0.0.1:8190/iportal/web/notebooks/961431779"

}

 

DELETE 请求

删除 Notebook,支持批量删除 Notebook 资源。url 中传递需要删除的 Notebook 资源的 id 数组。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 删除 Notebook 是否成功。
error Httperror 出错信息,如果删除 Notebook 成功,则没有本字段。

响应示例

对 notebooks 资源:http://localhost:8190/iportal/web/notebooks.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两个 Notebook,返回的 rjson 格式响应结果如下:

{ "succeed": true}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 notebooks 资源是否存在,或者客户端是否有权限访问 notebooks 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 notebooks 资源是否支持<format>格式的表述。

请参见