更新时间:2024-11-22 GMT+08:00

执行脚本

功能介绍

该接口用以执行指定脚本,支持执行DWS SQL、DLI SQL、RDS SQL、Hive SQL、Spark SQL、Presto SQL、Shell、ClickHouse SQL、HetuEngine SQL、Python、Spark Python和Impala SQL脚本。脚本每执行一次,生成一个脚本实例。执行脚本接口是一个异步命令,需要通过查询脚本实例执行结果获取执行状态和结果。

DLI SQL和Presto SQL不支持多语句场景。

URI

  • URI格式

    POST /v1/{project_id}/scripts/{script_name}/execute

  • 参数说明
    表1 URI参数说明

    参数名

    是否必选

    参数类型

    说明

    project_id

    String

    项目编号,获取方法请参见项目ID和账号ID

    script_name

    String

    脚本名称。

请求参数

表2 请求Header参数

参数名

是否必选

参数类型

说明

workspace

String

工作空间id。

  • 如果不设置该参数,默认查询default工作空间下的数据。
  • 如果需要查询其他工作空间的数据,需要带上该消息头。
表3 参数说明

参数名

是否必选

参数类型

说明

params

Object

脚本参数Map<String,String>。如果脚本中定义了参数,通过params携带参数值。

脚本参数指的是脚本内容里的参数,如下所示:

响应参数

表4 参数说明

参数名

是否必选

参数类型

说明

instanceId

String

执行脚本的实例ID。在查询脚本实例执行结果使用instanceId获取执行结果。

请求示例

执行脚本名称为dws_sql的脚本,脚本中参数tableVar的值为citys,脚本中参数time的值为2019-07-25。

POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/scripts/dws_sql/execute
{
    "params": {
        "tableVar": "citys",
        "time": "2019-07-25"
    }
}

响应示例

  • 成功响应

    HTTP状态码 200

  • 失败响应

    HTTP状态码 400

    {
        "error_code":"DLF.6201",
        "error_msg":"The script does not exist."
    }

状态码

状态码请参见状态码