-
Notifications
You must be signed in to change notification settings - Fork 18
streaming
qifeng dai edited this page Aug 7, 2017
·
56 revisions
说明:创建一个流任务,对项目 "有写和执行权限的用户和项目所有者" 可以直接运行。
POST /projects/:project-name/streaming/:name
Parameters: desc={desc}&type={type}¶meter={parameter}&userDefParams={userDefParams}¬ifyType={notifyType}¬ifyMails={notifyMails}
Response:
Status: 201 Created
{
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"type": "SPARK_STREAMING",
"parameter": {...},
"userDefParams": [{
"prop": "year",
"value": "$[yyyy]"
}
],
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user"
}
请求参数说明:
| 参数 | 类型 | 是否必选 | 描述 | 说明 |
|---|---|---|---|---|
| desc | string | 是 | 流任务的描述 | 长度为 [0,256] |
| type | string | 是 | 节点类型 | 节点类型参考:[[任务描述 |
| parameter | jsonObject | 是 | 参数配置 | json 的参数形式,不同任务类型的值不一样 jsonObject, 见:[[任务描述 |
| userDefParams | jsonArray | 否 | 自定义参数配置 | 为 json 数组,关于自定义参数相关内容,详见:[[参数说明 |
| notifyType | enum | 否 | 报警类型 |
SUCCESS-成功发,FAILURE-失败发,ALL-成功或失败都发,NONE-都不发, 注意大小写不敏感, 默认是 None
|
| notifyMails | jsonArray | 否 | 报警邮箱列表 | 报警的邮件列表,如果 notifyType 不是 NONE,这个值是应该配置的 |
说明:对应项目 "有修改权限的用户和项目所有者" 能够修改流任务。工作流若不存在,则会新增。
PUT /projects/:project-name/streaming/:name
Parameters: desc={desc}&type={type}¶meter={parameter}&userDefParams={userDefParams}¬ifyType={notifyType}¬ifyMails={notifyMails}
Response:
Status: 200 OK
请求和返回同上。
说明:对应项目 "有修改权限的用户和项目所有者" 能够修改流任务。注意类型是不能修改的。
PUT /projects/:project-name/streaming/:name
Parameters: desc={desc}¶meter={parameter}&userDefParams={userDefParams}¬ifyType={notifyType}¬ifyMails={notifyMails}
Response:
Status: 200 OK
请求说明:所有参数都是可选的。
请求和返回同上。
说明:对应项目 "有修改权限的用户和项目所有者" 能够删除流任务,只有停止的流任务才能删除。
DELETE /projects/:project-name/streaming/:name
Response:
Status: 204 No Content
说明:对应项目 "有查看权限的用户和项目所有者" 能够查询。
说明:该 API 不会返回流任务的配置详情。
GET /projects/:project-name/streamings
Response:
Status: 200 OK
[
{
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"type": "SPARK_STREAMING",
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user"
}
]
GET /projects/:project-name/streaming/:name
Response:
Status: 200 OK
[
{
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"type": "SPARK_STREAMING",
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"parameter": {...},
"userDefParams": [{
"prop": "year",
"value": "$[yyyy]"
}
],
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user"
}
]
说明:对项目 "有执行权限的用户和项目所有者" 可以发起流任务的运行。必须是停止的任务才能继续执行,否则会报错。
POST /executors/streaming
Parameters: projectName={projectName}&name={name}&proxyUser={proxyUser}&queue={queue}
Response:
Status: 201 Created
{
"execId": 111
}
说明:停止某个正在运行的任务,所属项目 "有执行权限的用户和项目所有者可以
kill正在运行的任务"。
POST /executors/streaming/:execId/kill
Response:
Status: 201 Created
说明:暂停某个正在运行的任务,所属项目 "有执行权限的用户和项目所有者可以
deactivate正在运行的任务"。目前只有storm任务支持该api。
POST /executors/streaming/:execId/deactivate
Response:
Status: 201 Created
说明:恢复某个暂停的任务,所属项目 "有执行权限的用户和项目所有者可以
activate正在运行的任务"。目前只有storm任务支持该api。
POST /executors/streaming/:execId/activate
Response:
Status: 201 Created
说明:对应项目 "有查看权限的用户和项目所有者" 能够查询。
GET /executors/streamings
Parameters: startDate={startDate}&endDate={endDate}&projectName={projectName}&name={name}&status={status}&from={from}&size={size}
Response:
Status: 200 OK
[
"total": 123,
"from": 10,
"executions": [{
"execId": 111,
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user",
"type": "SPARK_STREAMING",
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"parameter": {...},
"userDefParams": [{
"prop": "year",
"value": "$[yyyy]"
}
],
"submitTime": 1468391778000,
"startTime": 1468391778000,
"endTime": 1468391778000,
"submitUser": "the user of submit workflow",
"proxyUser": "bdi",
"queue": "myqueue",
"status": 2,
"appLinks": ["http://...", "http://..."]
}
]
参数说明:
| 参数 | 类型 | 是否必选 | 描述 | 说明 |
|---|---|---|---|---|
| startDate | long | 否 | 起始时间 | 按照任务的提交时间计算 |
| endDate | long | 否 | 结束时间 | 按照任务的提交时间计算 |
| projectName | string | 是 | 项目名称 | |
| name | string | 否 | 流任务名称 | 注意这里采用的是模糊后缀匹配 |
| status | jsonArray<int> | 否 | 默认查询所有的任务 | |
| from | int | 否 | 起始记录行 | 默认为 0 |
| size | int | 否 | 请求记录数 | 默认为 100, 有效值 (0,1000] |
返回结果根据 startTime 逆序排序。
说明:对应项目 "有查看权限的用户和项目所有者" 能够查询。
GET /executors/streaming/latest
Parameters: projectName={projectName}&names={names}
Response:
Status: 200 OK
[
{
"execId": 111,
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user",
"type": "SPARK_STREAMING",
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"parameter": {...},
"userDefParams": [{
"prop": "year",
"value": "$[yyyy]"
}
],
"submitTime": 1468391778000,
"startTime": 1468391778000,
"endTime": 1468391778000,
"submitUser": "the user of submit workflow",
"proxyUser": "bdi",
"queue": "myqueue",
"status": 2,
"appLinks": ["http://...", "http://..."]
}
]
参数说明:
| 参数 | 类型 | 是否必选 | 描述 | 说明 |
|---|---|---|---|---|
| projectName | string | 是 | 项目名称 | |
| names | jsonArray | 否 | 流任务名称列表,为空则查询项目下所有的 |
说明:对应项目 "有查看权限的用户和项目所有者" 能够查询。
GET /executors/streaming/:execId
Response:
Status: 200 OK
[
{
"execId": 111,
"name": "user_stat",
"desc": "统计用户信息的流任务",
"projectName": "bdi",
"createTime": 1468391778000,
"modifyTime": 1468391778000,
"owner": "bdi_user",
"type": "SPARK_STREAMING",
"notifyType": "FAILURE",
"notifyMails": ["ABC@baifendian.com"],
"parameter": {...},
"userDefParams": [{
"prop": "year",
"value": "$[yyyy]"
}
],
"submitTime": 1468391778000,
"startTime": 1468391778000,
"endTime": 1468391778000,
"submitUser": "the user of submit workflow",
"proxyUser": "bdi",
"queue": "myqueue",
"status": 2,
"appLinks": ["http://...", "http://..."]
}
]
说明:获取流任务的日志,对项目 "有执行权限的用户和项目所有者" 可以获取流任务日志。
GET /executors/streaming/:execId/logs
Parameters: from={from}&size={size}&query={query-string}
Response:
Status: 200 OK
{
"total": 121,
"length": 10,
"took": 15,
"content": ["[INFO]...", "[ERROR]..."]
}
请求和返回参数参见: 运行和运维