开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

问一下有什么方法通过api可以传变量值给dataworks脚本任务?

问一下有什么方法通过api可以传变量值给dataworks脚本任务?

展开
收起
cuicuicuic 2023-07-25 19:44:11 38 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 DataWorks 中,可以通过 API 接口来传递变量值给脚本任务。具体步骤如下:

    创建脚本任务,并在任务中定义需要接收的变量,例如${var1}、${var2}等。

    在 API 接口中调用该脚本任务,并传递变量值,例如:

    Copy
    http://hostname/api/rest_j/v1/projects/{project_name}/executions?nodeId={node_id}&bizdate={bizdate}&var1=value1&var2=value2
    其中,{project_name} 表示项目名称,{node_id} 表示脚本任务的节点 ID,{bizdate} 表示业务日期,var1=value1 和 var2=value2 表示需要传递的变量和对应的值。

    在脚本任务中使用${var1}、${var2}等方式来引用传递的变量值,例如:

    Copy
    SELECT * FROM ${var1} WHERE date = '${bizdate}';
    需要注意的是,在传递变量值时,需要确保

    2023-07-30 16:05:24
    赞同 展开评论 打赏
  • 通过API传递变量值给DataWorks脚本任务可以使用DataWorks的运维API(OpenAPI)来实现。下面是一个简单的示例步骤:

    1. 获取 DataWorks 项目和节点信息:

      • 使用 GET /projects 接口获取项目列表,找到目标项目的 project_id
      • 使用 GET /projects/{project_id}/instances 接口获取实例列表,找到目标实例的 instance_id
    2. 创建一个 DataWorks 脚本任务实例:

      • 使用 POST /projects/{project_id}/instances/{instance_id}/tasks 接口创建任务实例,并指定 task_typeScript
      • 在请求体中,设置 task_content 参数为你的脚本内容。
      • 在请求体中,设置 param_values 参数为包含变量名称和对应值的键值对,例如: {"variable_name": "value"}
    3. 执行 DataWorks 任务实例:

      • 使用 PUT /projects/{project_id}/instances/{instance_id}/executions 接口执行任务实例。
      • 在请求体中,设置 task_ids 参数为刚创建的任务实例的 ID。
    2023-07-26 21:20:39
    赞同 展开评论 打赏
  • 具体是什么场景使用 为什么需要api传变量呢,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-07-25 19:55:12
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载