工作流 API 概览¶
NebulaGraph Explorer 提供 API 接口使用工作流的部分功能。
当前支持的 API 接口如下:
请求方式¶
支持使用 curl 调用 API 接口实现对应的功能。
格式如下:
curl <options> http://<explorer_address>:<explorer_port>/<api_path>?{<body>}
<options>
:curl 支持大量选项,工作流使用较多的是-X
、-H
、-d
。关于选项的详细说明,参见 curl 官方文档。
<explorer_address>
:NebulaGraph Explorer 访问地址。
<explorer_port>
:NebulaGraph Explorer 访问端口。
<api_path>
:API 的调用路径。例如api-open/v1/jobs
。
<body>
:调用 API 时传入的 Body 参数。
获取授权 Token¶
使用 API 时,需要做 Token 信息校验。请使用如下命令获取 Token 信息。
curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer <account_base64_encode>" -d '{"address":"<nebula_address>","port":<nebula_port>}' http://<explorer_address>:<explorer_port>/api-open/v1/connect
<account_base64_encode>
:Base64 编码后的 NebulaGraph 账号和密码。编码前格式为JSON.stringify([用户名, 密码])
。以用户名root
、密码123
为例,JSON.stringify
函数处理后的字符串为["root","123"]
,Base64 编码后为WyJyb290IiwiMTIzIl0=
。<nebula_address>
:NebulaGraph 访问地址。<nebula_port>
:NebulaGraph 访问端口。<explorer_address>
:NebulaGraph Explorer 访问地址。<explorer_port>
:NebulaGraph Explorer 访问端口。
示例:
curl -i -X POST -H "Content-Type: application/json" -H "Authorization: Bearer WyJyb290IiwiMTIzIl0=" -d '{"address":"192.168.8.111","port":9669}' http://192.168.8.145:7002/api-open/v1/connect
返回结果:
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 如果调用成功,会返回如下信息:
{ code: 0, message: 'Success', data: <ResponseData> //根据接口返回相应结果。 }
-
API如果调用失败,会返回对应的通用错误码,例如:
{ code: 40004000, message: '<ErrBadRequest>', //返回具体报错信息。 }
通用错误码的说明参见下文。
通用错误码¶
错误码 | 信息 | 说明 |
---|---|---|
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 | 暂停中 |
最后更新:
March 28, 2023