<portal_uri>/notebooks[.<format>]
notebook、notebooksShareSetting、notebookUserToken
notebooks 资源是数据科学服务的根节点。
支持的方法:
支持的表述格式:RJSON、JSON、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/notebooks.rjson
查询 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
}
]
}
创建一个新的 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"
}
删除 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}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 notebooks 资源是否存在,或者客户端是否有权限访问 notebooks 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 notebooks 资源是否支持<format>格式的表述。