diff --git a/docs-2.0/nebula-explorer/12.query-visually.md b/docs-2.0/nebula-explorer/12.query-visually.md index e1ce32c8e5c..adbd985b135 100644 --- a/docs-2.0/nebula-explorer/12.query-visually.md +++ b/docs-2.0/nebula-explorer/12.query-visually.md @@ -17,7 +17,7 @@ ## 页面元素 -![visual_overview](https://docs-cdn.nebula-graph.com.cn/figures/visual-query-beta_2022-04-15_15-40-07_cn.png) +![visual_overview](https://docs-cdn.nebula-graph.com.cn/figures/visual-query-20220718-cn.png) 在 Explorer 页面顶部,单击 **Visual Query** 进入可视化查询页面。在**可视化查询**页面左侧可以看到图空间对应的所有 Tag (如 player 和 team) 和名为**任意标签** Tag。 diff --git a/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md b/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md index fbadbd63642..3cf124b870e 100644 --- a/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md +++ b/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md @@ -10,7 +10,8 @@ 登录 Explorer 后,系统首先会显示图空间选择页面,用户只需选择目标图空间即可。 -![Create_graphspace](https://docs-cdn.nebula-graph.com.cn/figures/create-graphspace_cn.png) +![Create_graphspace](https://docs-cdn.nebula-graph.com.cn/figures/select-space-220718-cn.png) + 之后如果要再次选择图空间,可以通过以下方式: diff --git a/docs-2.0/nebula-explorer/workflow/2.create-workflow.md b/docs-2.0/nebula-explorer/workflow/2.create-workflow.md index d5e28a06c20..7455be12c3a 100644 --- a/docs-2.0/nebula-explorer/workflow/2.create-workflow.md +++ b/docs-2.0/nebula-explorer/workflow/2.create-workflow.md @@ -23,8 +23,8 @@ |配置项|说明| |:---|:---| |Query|单击![pencil](https://docs-cdn.nebula-graph.com.cn/figures/workflow-edit.png)可以修改组件名称,方别识别。| + |查询语言|选择执行 nGQL 语句的图空间,以及填写nGQL语句。填写语句后单击**解析参数**,会在**输出**里展示返回的列名。| |输入|设置自定义参数,可以用于参数化查询。单击**添加参数**可以增加更多自定义参数。| - |查询语言|选择执行nGQL语句的图空间,以及填写nGQL语句。填写语句后单击**解析参数**,会在**输出**里展示返回的列名。| |输出|解析查询语言得到的返回结果列名。可以修改名称,相当于用`AS`设置列的别名。| |结果|设置结果的保存位置。为方便其他算法调用结果,图查询组件的结果只支持保存在 HDFS 上。| @@ -54,3 +54,10 @@ !!! note 单击运行时,会自动进行保存,如果不执行图计算,仅仅修改,修改完成后请单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-save-220623.png)进行保存,或者单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-saveAs-220623.png)另存为新的工作流。 + +## 常见问题 + +### 如何删除组件? + +单击鼠标左键选择要删除的组件,单击`Backspace`即可删除该组件。 + diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-cancel-job.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-cancel-job.md new file mode 100644 index 00000000000..d06dd1bb8fd --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-cancel-job.md @@ -0,0 +1,62 @@ +# 终止执行指定作业 + +本文介绍如何使用工作流的 API 终止执行指定作业。 + +## API 路径 + +`api-open/v1/jobs//cancel` + +``:作业 ID。参见下文的请求参数。 + +## 请求参数 + +### 路径参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`job_id`|number|必填|-|`1964`|作业 ID。可以通过 API [获取所有作业列表](api-get-jobs.md)查询,或者在作业列表页面查看。| + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/x-www-form-urlencoded`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +无。 + +### 请求示例 + +```bash +curl -i -X PUT -H "Content-Type: application/x-www-form-urlencoded" -H "Cookie: "explorer_token=eyJhbxxx"" http://192.168.8.145:7002/api-open/v1/jobs/30600/cancel +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|    - `success` | bool | `true` | 是否成功终止。| + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-8b4b47413a211d9b5e0839aadc712052-4a98bae37fe5948a-00", + "Date": "Mon, 18 Jul 2022 01:45:08 GMT", + "Content-Length": "54" +} +{ + "code": 0, + "data": { + "success": true + }, + "message": "Success" +} +``` \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-job.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-job.md new file mode 100644 index 00000000000..12561e7cae0 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-job.md @@ -0,0 +1,88 @@ +# 查询指定作业详情 + +本文介绍如何使用工作流的 API 查询指定作业详情。 + +## API 路径 + +`api-open/v1/jobs/` + +``:作业 ID。参见下文的请求参数。 + +## 请求参数 + +### 路径参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`job_id`|number|必填|-|`1964`|作业 ID。可以通过 API [获取所有作业列表](api-get-jobs.md)查询,或者在作业列表页面查看。| + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/json`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +无。 + +### 请求示例 + +```bash +curl -i -X GET -H "Content-Type: application/json" -H "Cookie: "explorer_token=eyJhbxxx"" http://192.168.8.145:7002/api-open/v1/jobs/1964 +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|    - `id` | number | `1964` | 作业 ID。| +|    - `name` | string | `workflow_xkkjf_20220712103332` | 作业名称。 | +|    - `workflowId` | string | `3992429968` | 工作流 ID。 | +|    - `workflowName` | string | `workflow_xkkjf` | 工作流名称。 | +|    - `status` | number | `2` | 作业状态码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|    - `tasks` | object | -| 任务详情。 | +|       - `id` | string | `f93dea90fc3a11ecac7e6da0662c195b`| 任务 ID。 | +|       - `name` | string | `BFS`| 任务名称。 | +|       - `runBeginTime` | datetime | `2022-07-12T10:33:35+08:00` | 任务开始执行时间。 | +|       - `runEndTime` | datetime | `2022-07-12T10:33:38+08:00` | 任务执行结束时间。 | +|       - `status` | number | `2` | 任务状态。 | + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-3db17c9fd9e0a4c3824973471523d214-4384705e523dce83-00", + "Date": "Fri, 15 Jul 2022 09:08:20 GMT", + "Content-Length": "400" +} +{ + "code": 0, + "data": { + "id": 1964, + "name": "workflow_xkkjf_20220712103332", + "workflowId": "3992429968", + "workflowName": "workflow_xkkjf", + "status": 2, + "tasks": [ + { + "id": "f93dea90fc3a11ecac7e6da0662c195b", + "name": "BFS", + "runBeginTime": "2022-07-12T10:33:35+08:00", + "runEndTime": "2022-07-12T10:33:38+08:00", + "status": 2 + } + ], + "runBeginTime": 1657593215000, + "runEndTime": 1657593218000, + "createTime": 1657593212505 + }, + "message": "Success" +} +``` \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-task.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-task.md new file mode 100644 index 00000000000..b6d39e6274a --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-desc-task.md @@ -0,0 +1,82 @@ +# 获取指定任务的运行结果 + +本文介绍如何使用工作流的 API 获取指定任务的运行结果。 + +## API 路径 + +`api-open/v1/jobs//tasks//sample_result` + +- ``:作业 ID。参见下文的请求参数。 + +- ``:任务 ID。参见下文的请求参数。 + +## 请求参数 + +### 路径参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`job_id`|number|必填|-|`29987`|作业 ID。可以通过 API [获取所有作业列表](api-get-jobs.md)查询,或者在作业列表页面查看。| +|`task_id`|number|必填|-|`8c171f70fb6f11ecac7e6da0662c195b`|作业 ID。可以通过其他 API 查询到,或者在指定作业页面单击组件,在右上角查看。| + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/x-www-form-urlencoded`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`limit`|number|必填|`10`|-|返回结果行数限制。| + +### 请求示例 + +```bash +curl -i -X GET -H "Content-Type: application/x-www-form-urlencoded" -H "Cookie: "explorer_token=eyJhbxxx"" http://192.168.8.145:7002/api-open/v1/jobs/29987/tasks/8c171f70fb6f11ecac7e6da0662c195b/sample_result?limit=1000 +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|    - `items`|list|-|详细结果列表。| +|       - `result` | string | `"player110","0.150000"` | 根据算法不同,结果可能是 2 列或 3 列。| + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-14047b04b6810be06be22e010f500506-4c310a844b824a7f-00", + "Date": "Fri, 15 Jul 2022 09:36:56 GMT", + "Content-Length": "2014" +} +{ + "code": 0, + "data": { + "items": [ + [ + "player110", + "0.150000" + ], + [ + "team219", + "0.452126" + ], + ...... + [ + "player121", + "0.262148" + ] + ] + }, + "message": "Success" +} +``` diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-jobs.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-jobs.md new file mode 100644 index 00000000000..6d34d2e6e07 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-jobs.md @@ -0,0 +1,107 @@ +# 获取所有作业列表 + +本文介绍如何使用工作流的 API 获取所有作业列表。 + +## API 路径 + +`api-open/v1/jobs` + +## 请求参数 + +### 路径参数 + +无。 + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/json`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`filter` | object| 可选|-|-| 过滤器的设置。| +|   - `name` |string |可选 |-|`workflow_q745a_20220715092236`| 作业名称。 | +|   - `status` |number |可选 |-|`2`| 任务状态码。详情参见[工作流 API 概览](workflow-api-overview.md)。| +|   - `fromCreateTime` | number| 可选|-|`1657848036000`| 起始时间戳。基于作业的创建时间进行过滤。| +|   - `toCreateTime` |number |可选 |-|`1657848157000`|结束时间戳。基于作业的创建时间进行过滤。| +|   - `orderByCreateTime` | string| 可选|`desc`|-| 排序方式。支持`desc`和`asc`。 | +|`pageSize` |number |可选| `10`| -| 每页记录数。| +|`page` |number |可选| `1`| -| 页码。| + +### 请求示例 + +!!! note + + `jobs?`后的内容为 Body 参数,`filter`的内容是进过 URL 编码的结果。原始内容为:`{ "status": 2, "orderByCreateTime": "asc"}`。 + +```bash +curl -i -X GET -H "Content-Type: application/json" -H "Cookie: "explorer_token=eyJhbxxx"" http://192.168.8.145:7002/api-open/v1/jobs?filter=%7B%20%22status%22%3A%202%2C%20%20%22orderByCreateTime%22%3A%20%22asc%22%7D&pageSize=10&page=1 +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|   - `total` | number | `2` |记录总数。 | +|   - `Page` | number | `1` | 页码。 | +|   - `PageSize` | number | `10` | 每页记录数。 | +|   - `items` | object | - | 记录详情列表。 | +|       - `id` | number | `105` | 作业 ID。| +|       - `name` | string | `workflow_q745a_20220715090915` | 作业名称。 | +|       - `workflowId` | string | `4216617528` | 工作流 ID。 | +|       - `workflowName` | string | `workflow_q745a` | 工作流名称。 | +|       - `status` | number | `2` | 作业状态码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|       - `runBeginTime` | number | `1657847358000` | 作业开始执行时间。 | +|       - `runEndTime` | number | `1657847364000` | 作业执行结束时间。 | +|       - `createTime` | number | `1657847355906` | 作业创建时间。 | + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-d3a1943f5baf46771e9afc629e0b5d40-920db2f06142f5ff-00", + "Date": "Fri, 15 Jul 2022 06:17:21 GMT", + "Content-Length": "512" +} + +{ + "code": 0, + "data": { + "items": [ + { + "id": 105, + "name": "workflow_q745a_20220715090915", + "workflowId": "4216617528", + "workflowName": "workflow_q745a", + "status": 2, + "runBeginTime": 1657847358000, + "runEndTime": 1657847364000, + "createTime": 1657847355906 + }, + { + "id": 106, + "name": "workflow_q745a_20220715092236", + "workflowId": "4216617528", + "workflowName": "workflow_q745a", + "status": 2, + "runBeginTime": 1657848157000, + "runEndTime": 1657848163000, + "createTime": 1657848156290 + } + ], + "total": 2, + "Page": 1, + "PageSize": 10 + }, + "message": "Success" +} +``` \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-workflow-jobs.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-workflow-jobs.md new file mode 100644 index 00000000000..2d9a1efe62c --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-get-workflow-jobs.md @@ -0,0 +1,100 @@ +# 获取指定工作流的作业列表 + +本文介绍如何使用工作流的 API 获取指定工作流的作业列表。 + +## API 路径 + +`api-open/v1/workflows//jobs` + +``:工作流 ID。参见下文的请求参数。 + +## 请求参数 + +### 路径参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`workflow_id`|number|必填|-|`4216617528`|工作流 ID。需要指定工作流将其实例化为作业。可以在指定的工作流页面左上角查看 ID。| + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/json`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`filter` | object| 可选|-|-| 过滤器的设置。| +|   - `name` |string |可选 |-|`workflow_q745a_20220715092236`| 作业名称。 | +|   - `status` |number |可选 |-|`2`| 任务状态码。详情参见[工作流 API 概览](workflow-api-overview.md)。| +|   - `fromCreateTime` | number| 可选|-|`1657848036000`| 起始时间戳。基于作业的创建时间进行过滤。| +|   - `toCreateTime` |number |可选 |-|`1657848157000`|结束时间戳。基于作业的创建时间进行过滤。| +|   - `orderByCreateTime` | string| 可选|`desc`|-| 排序方式。支持`desc`和`asc`。 | +|`pageSize` |number |可选| `10`| -| 每页记录数。| +|`page` |number |可选| `1`| -| 页码。| + +### 请求示例 + +!!! note + + `jobs?`后的内容为 Body 参数,`filter`的内容是进过 URL 编码的结果。原始内容为:`{"status": 2, "fromCreateTime": 1657874100000}`。 + +```bash +curl -i -X GET -H "Content-Type: application/json" -H "Cookie: "explorer_token=eyJhbxxx"" http://192.168.8.145:7002/api-open/v1/workflows/4216617528/jobs?filter=%7B%22status%22%3A%202%2C%20%20%22fromCreateTime%22%3A%201657874100000%7D&pageSize=10&page=1 +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|   - `total` | number | `2` |记录总数。 | +|   - `Page` | number | `1` | 页码。 | +|   - `PageSize` | number | `10` | 每页记录数。 | +|   - `items` | object | - | 记录详情列表。 | +|       - `id` | number | `105` | 作业 ID。| +|       - `name` | string | `workflow_q745a_20220715090915` | 作业名称。 | +|       - `workflowId` | string | `4216617528` | 工作流 ID。 | +|       - `workflowName` | string | `workflow_q745a` | 工作流名称。 | +|       - `status` | number | `2` | 作业状态码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|       - `runBeginTime` | number | `1657847358000` | 作业开始执行时间。 | +|       - `runEndTime` | number | `1657847364000` | 作业执行结束时间。 | +|       - `createTime` | number | `1657847355906` | 作业创建时间。 | + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-008c3056686dd3f3be38b8eda42a917e-b5616e30434cb803-00", + "Date": "Fri, 15 Jul 2022 08:44:06 GMT", + "Content-Length": "297" +} +{ + "code": 0, + "data": { + "items": [ + { + "id": 115, + "name": "workflow_q745a_20220715163650", + "workflowId": "4216617528", + "workflowName": "workflow_q745a", + "status": 2, + "runBeginTime": 1657874212000, + "runEndTime": 1657874218000, + "createTime": 1657874210088 + } + ], + "total": 1, + "Page": 1, + "PageSize": 10 + }, + "message": "Success" +} +``` diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/api-post-jobs.md b/docs-2.0/nebula-explorer/workflow/workflow-api/api-post-jobs.md new file mode 100644 index 00000000000..67660956d77 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/api-post-jobs.md @@ -0,0 +1,75 @@ +# 新增作业 + +本文介绍如何使用工作流的 API 新增作业。 + +## API 路径 + +`api-open/v1/workflows//jobs` + +``:工作流 ID。参见下文的请求参数。 + +## 请求参数 + +### 路径参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`workflow_id`|number|必填|-|`4216617528`|工作流 ID。需要指定工作流将其实例化为作业。可以在指定的工作流页面左上角查看 ID。| + +### Headers 参数 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`Content-Type`|string|必填|-|`application/json`|内容类型。| +|`explorer_token`|string|必填|-|`eyJhbxxx`|授权 Token,用于验证账号信息。如何获取授权 Token 请参见[工作流 API 概览](workflow-api-overview.md)。| + +### Body 参数 + +!!! note + + 自定义的传入参数需要用户自行保证参数的合理性和正确性,否则作业会执行失败。 + +|参数|类型|是否必填|默认值|示例|说明| +|:---|:---|:---|:---|:---|:---| +|`input`|object|可选|-|-| 自定义的传入参数。| +|   - `task_id`|object|可选|-|`query_1`|任务 ID。可以在组件设置页面右上角查看。一个任务可以设置多个由键值对表示的参数。| +|      - `param_name: param_value`|string: {string 或 number}|可选|-|`param0: player100`|`param_name`为参数的键,即参数名。`param_value`为参数的值。| + +### 请求示例 + +以下图为例,在 nGQL 语句使用自定义参数`name`。在创建作业时传入参数值`Tim Duncan`。 + +![api-postjob](https://docs-cdn.nebula-graph.com.cn/figures/api-postjob-220715-cn.png) + +```bash +curl -i -X POST -H "Content-Type: application/json" -H "Cookie: "explorer_token=eyJhbxxx"" -d '{"input":{"query_1":{"name":"Tim Duncan"}}}' http://192.168.8.145:7002/api-open/v1/workflows/4216617528/jobs +``` + +## 返回参数 + +|参数|类型|示例|说明| +|:---|:---|:---|:---| +|`code` | number | `0` | 请求结果码。请求成功返回`0`,请求不成功返回对应的错误码。详情参见[工作流 API 概览](workflow-api-overview.md)。 | +|`message` | string | `Success` | 执行结果信息。 | +|`data` | object | - | 返回的数据列表。 | +|   - `id`|string|`107`|新增作业的 ID。| + +### 返回示例 + +```http +{ + "cookie": [], + "Content-Type": "application/json", + "Traceparent": "00-1ba128615cdc2226c921973a689e9f1b-7630b12963494672-00", + "Date": "Fri, 15 Jul 2022 07:19:25 GMT", + "Content-Length": "48" +} + +{ + "code": 0, + "data": { + "id": 107 + }, + "message": "Success" +} +``` diff --git a/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md b/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md new file mode 100644 index 00000000000..5b1595024b1 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflow-api/workflow-api-overview.md @@ -0,0 +1,127 @@ +# 工作流 API 概览 + +Nebula Explorer 提供 API 接口使用工作流的部分功能。 + +当前支持的 API 接口如下: + +- [新增作业](api-post-jobs.md) +- [获取所有作业列表](api-get-jobs.md) +- [获取指定工作流的作业列表](api-get-workflow-jobs.md) +- [查询指定作业详情](api-desc-job.md) +- [取消作业运行](api-cancel-job.md) +- [获取指定任务的运行结果数据](api-desc-task.md) + +## 请求方式 + +支持使用 curl 调用 API 接口实现对应的功能。 + +格式如下: + +```bash +curl http://:/?{} +``` + +- ``:curl 支持大量选项,工作流使用较多的是`-X`、`-H`、`-d`。关于选项的详细说明,参见 [curl 官方文档](https://curl.se/docs/manpage.html)。 + +- ``:Nebula Explorer 访问地址。 + +- ``:Nebula Explorer 访问端口。 + +- ``:API 的调用路径。例如`api-open/v1/jobs`。 + +- ``:调用 API 时传入的 Body 参数。 + +## 获取授权 Token + +使用 API 时,需要做 Token 信息校验。请使用如下命令获取 Token 信息。 + +```bash +curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer " -d '{"address":"","port":}' http://:/api-open/v1/connect +``` + +- ``:Base64 编码后的 Nebula Graph 账号和密码。编码前格式为`账号:密码`,下文示例为`root:123`,编码后为`cm9vdDoxMjM=`。 +- ``:Nebula Graph 访问地址。 +- ``:Nebula Graph 访问端口。 +- ``:Nebula Explorer 访问地址。 +- ``:Nebula Explorer 访问端口。 + +示例: + +```bash +curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer cm9vdDoxMjM=" -d '{"address":"192.168.8.111","port":9669}' http://192.168.8.145:7002/api-open/v1/connect +``` + +返回结果: + +```http +HTTP/1.1 200 OK +Content-Type: application/json +Set-Cookie: explorer_token=eyJhbxxx; Path=/; # Max-Age=259200; HttpOnly +Traceparent: 00-1c3f55cdbf81e13a2331ed88155ce0bf-2b97474943563f20-# 00 +Date: Thu, 14 Jul 2022 06:47:01 GMT +Content-Length: 54 + +{ + "code": 0, + "data": { + "success": true + }, + "message": "Success" +} +``` + +需要关注的参数如下: + +- `explorer_token`:Token 信息。 + +- `Max-Age`:Token 有效时间。单位:秒。默认为 259200 秒,即 3 天。可以在安装目录内的`config/app-config.yaml`文件内修改默认有效时间。 + +## 请求结果 + +- API 如果调用成功,会返回如下信息: + + ```http + { + code: 0, + message: 'Success', + data: //根据接口返回相应结果。 + } + ``` + +- API如果调用失败,会返回对应的通用错误码,例如: + + ```http + { + code: 40004000, + message: '', //返回具体报错信息。 + } + ``` + + 通用错误码的说明参见下文。 + +### 通用错误码 + +|错误码|信息|说明| +|:---|:---|:---| +|40004000 | `ErrBadRequest` | 请求异常 | +|40004001 | `ErrParam` | 请求参数异常 | +|40104000 | `ErrUnauthorized` | 请求未授权 | +|40104001 | `ErrSession` | 登录会话异常 | +|40304000 | `ErrForbidden` | 请求被拒绝 | +|40404000 | `ErrNotFound` | 请求资源不存在 | +|50004000 | `ErrInternalServer` | 内部服务异常 | +|50004001 | `ErrInternalDatabase` | 数据库异常 | +|50004002 | `ErrInternalController` | 控制器异常 | +|50004003 | `ErrInternalLicense` | 证书校验异常 | +|90004000 | `ErrUnknown` | 未知错误 | + +### 任务状态码 + +|状态码|说明| +|:---|:---| +|0 | 准备中| +|1 | 执行中| +|2 | 执行成功| +|3 | 执行失败| +|4 | 已中断| +|5 | 暂停中| diff --git a/mkdocs.yml b/mkdocs.yml index 5eb5c7e4ea4..13f21d9b90a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -575,6 +575,13 @@ nav: - 工作流示例: nebula-explorer/workflow/2.create-workflow.md - 工作流管理: nebula-explorer/workflow/3.workflow-management.md - 作业管理: nebula-explorer/workflow/4.jobs-management.md + - 工作流 API: + - 新增作业: nebula-explorer/workflow/workflow-api/api-post-jobs.md + - 获取所有作业列表: nebula-explorer/workflow/workflow-api/api-get-jobs.md + - 获取指定工作流的作业列表: nebula-explorer/workflow/workflow-api/api-get-workflow-jobs.md + - 查询指定作业详情: nebula-explorer/workflow/workflow-api/api-desc-job.md + - 取消作业运行: nebula-explorer/workflow/workflow-api/api-cancel-job.md + - 获取指定任务的运行结果数据: nebula-explorer/workflow/workflow-api/api-desc-task.md - 基本操作和快捷键: nebula-explorer/ex-ug-shortcuts.md - Nebula Importer: