跳转至

API 机器学习执行

简介

API 标题: 用于 ML Execute 的 REST API
描述: 机器学习 Execute 数据处理运行 API
版本: 1.000
身份验证: OAuth2、API Key、JWT、Basic Auth
基础 URL: https://tenantxyz.api.saastagetik.com/basic https://tenantxyz.api.saastagetik.com/jwt https://tenantxyz.api.saastagetik.com/apikey https://tenantxyz.api.saastagetik.com/oauth2

前提条件

必须启用用户功能 0004117 才能使用以下 API。

请求格式:JSON

响应格式:JSON

共享标头

  • Content-Type:application/json
  • Authorisation:Bearer

端点

方法

POST

URL

/aih/ml/execute/v1/{database_id}/{workspace_code}/{aa_code}

描述

运行与高级分析(代码为 aa_code)关联的 Execute 数据处理,该高级分析属于由 database_id 标识的数据库,并定义在由 workspace_code 指示的分析工作区中。返回数据处理标识符(dataprocessingId)。

以下启动上下文属性必须包含在请求正文中:

属性 描述 选项
Process 必填。为数据处理启动所选的流程。
Scenarios 可选,仅用于场景-期间流程,在单次提交流程中不应存在。为数据处理所选的场景。
Period 可选,仅用于场景-期间流程,在单次提交流程中不应存在。为数据处理所选的期间。
Dimension code 可选,仅用于多维流程。当不存在时,按实体维度筛选。 - 它是分析维度的代码(例如 CHANNEL)
Dimension Filter 必填。将启动数据处理所针对的实体或分析维度的最低层级元素或节点。 - 最低层级元素通过代码指定(例如 A01)。 - 节点通过由 'GER
Train Label 可选,仅当 Execute 数据处理所关联的模型包含训练阶段时使用。
Flag delete data before to run Execute 可选,默认值为 false。

重要:目前只能启动不涉及运行时所需参数的 Execute 数据流程。

示例

请求

从多维流程启动 Execute 数据处理,带期间场景,针对分析维度 CHANNEL,从节点开始,在包含训练阶段的模型上。

响应

响应返回 ID:

{
    "process": "API_BU_MULTI",
    "scenario": "2019ACT",
    "period": "01",
    "trainLabelCode": "TL1",
    "dimensionCode": "CHANNEL",
    "dimensionFilter": "H01|01",
    "deleteBeforeRun": false
}

数据处理状态

方法

GET

URL

/aih/ml/execute/v1/{database_id}/{dataprocessingId}

描述

返回 Execute 数据处理状态。

状态 描述
RUNNING 运行中
FAILED 失败
COMPLETED 成功完成

应答示例

响应返回 ID:

{ "status": "COMPLETED", "parameters": {} }

数据处理中断

方法

DELETE

URL

/aih/ml/execute/v1/{database_id}/{dataprocessingId}

描述

允许中断 Execute 数据处理。

响应返回:

消息 描述
Processing interrupted 数据处理已停止
Processing still in progress 数据处理仍在运行

应答示例

{ "message": "Processing interrupted" }

重要

在以下情况下,Delete 操作表示数据处理仍在进行中:

  • 数据处理处于 COMPLETED 状态
  • 数据处理处于 FAILED 状态

当请求中断的用户与启动数据处理的用户不是同一用户时,delete 操作返回错误 '401 Unauthorised'。显示消息 'The current user is not the one who started the processing'。

API 常见错误

所处理的错误情况包括:

错误 描述
401 Unauthorized - 用户不存在 - 用户使用错误的密码进行身份验证 - 请求中断数据处理的用户与启动数据处理的用户不是同一用户。
400 Bad Request - 流程不存在 - 标准流程且指示了分析维度(dimensionCode) - 分析工作区(workspace_code)不存在 - 分析工作区(workspace_code)中不存在高级分析(aa_code) - 在单次提交流程中指示了期间或场景 - 在场景-期间流程中未指示期间或场景 - 期间或场景不属于所指示的期间-场景流程。 - 分析维度(dimensionCode)不存在 - 最低层级元素或节点(dimensionFilter)不存在 - 最低层级元素或节点不属于该分析维度 - 在其余 GET 和 DELETE 中,所指示的 dataprocessingId 不存在。
403 Forbidden - 数据库(database_id)未与用户关联 - 用户未启用功能 0004117
404 Not Found - URL 无效。

示例

启动 POST API,流程为标准流程但指示了分析维度

{
    "process": "API_BU",
    "scenario": "2020_ACTUAL",
    "period": "01",
    "trainLabelCode": "TL1",
    "dimensionCode": "CHANNEL",
    "dimensionFilter": "010|020",
    "deleteBeforeRun": false
}

响应

{
    "code": 400,
    "message": "Process is not multidimensional"
}

正确的 POST 正文为:

{
    "process": "API_BU",
    "scenario": "2020_ACTUAL",
    "period": "01",
    "trainLabelCode": "TL1",
    "dimensionCode": "",
    "dimensionFilter": "010|020",
    "deleteBeforeRun": false
}