详情页标题前

阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技

详情页1

数据服务服务编排为您提供拖拽式、可视化的工作流编排能力。您可以按照业务逻辑,以串行、并行和分支等结构编排多个API及函数服务为工作流。

前提条件

  • 您需要购买DataWorks企业版及以上版本,才可以使用服务编排功能。详情请参见DataWorks版本服务计费说明。

  • 仅华东2(上海)地域支持使用服务编排功能,当前服务编排功能改造中,暂停使用,请您耐心等待功能升级改造。

背景信息

当您调用服务编排API服务时,系统将根据设定依次执行各个服务节点、传递服务节点参数并自动管理每个服务节点的状态转换。服务编排功能极大简化了多个服务之间组合调用的开发和运维成本,让您可以专注于业务本身。

服务编排的优势如下:

  • 降低API服务开发成本

    通过拖拽式、可视化的方式进行服务编排,无需额外编写代码即可完成多个API服务的串行、并行和分支调用,大大降低了API服务的开发成本。

  • 提升服务调用性能

    多个API或函数服务的调用在同一个容器实例内完成,相比您自行编写和搭建工作流服务可有效降低服务调用的网络开销,显著提升服务调用性能。

  • 使用Serverless架构

    服务编排采用Serverless架构。Serverless架构能够实现动态伸缩,您无需关注底层运行环境,只需要关注业务逻辑本身。

输入与输出规则

数据服务参数取值规则基于JSONPath。JSONPath是一种信息抽取类库,用于JSON文件中抽取指定信息。详情请参见JSONPath。

例如,对于A>B>C这3个顺序节点,节点C需要取节点A、B的输出值:

  • A节点输出:{“namea”:”valuea”}。

    取A节点输出:${A.namea}。

  • B节点输出:{“nameb”:”valueb”}。

    取B节点输出:$.nameb或${B.nameb}。

系统内置开始节点作为整个服务编排的入参。例如服务编排的入参为{“namewf”:”valuewf”},则任意一个节点可通过${START.namewf}获取对应入参值。

说明

开始节点结束节点是服务编排的系统内置节点,您可以重命名,但无法删除。开始节点相当于当前工作流的第0个节点。

参数说明

  • 服务编排的请求参数

    单击服务编排编辑页面右侧的请求参数,您可以通过手动添加自动解析的方式配置请求参数:

    • 手动添加:单击新增参数,手动新增服务编排的请求参数。

    • 自动解析:如果工作流的第1个节点是API节点,单击自动解析请求参数,您可以将该API的请求参数自动映射为服务编排的请求参数。

  • API节点的请求参数

    单击API节点,在面板中单击输入请求参数,配置请求参数值。

    • 如果不设置参数值,系统会默认进行同名映射,即匹配上个节点输出结果JSON的第一层的同名字段值。

      说明

      如果当前节点是工作流的第一个节点,则请求参数值将与服务编排的请求参数值进行同名映射。

    • 如果设置了参数值,系统会使用您设置的值。

      说明

      如果期望设置当前节点的参数值为上游指定节点的指定参数值,则需要使用JSONPath表达式。

  • API节点的返回参数

    单击API节点,在面板中勾选设置输出结果,并使用JSON格式自定义输出结果的表达式。示例如下。

    {
      "return1":"$.data.rows.user_id",
      "return2":"$.data.rows.user_name"
    }
  • Python节点的请求参数

    单击Python节点,在请求参数编辑栏中,输入请求参数的内容。

  • Python节点的返回参数

    单击Python节点,在面板中勾选设置输出结果,并使用JSON格式自定义输出结果的表达式。示例如下。

    {
      "return1":"$.data.rows.user_id",
      "return2":"$.data.rows.user_name"
    }

常用获取参数的JSONPath表达式。

JSONPath表达式

在请求参数中使用

在返回结果中使用

$.

获取上个节点输出结果的根对象。

获取当前节点输出结果的根对象。

$.param

获取上个节点输出结果中的param参数值。

获取当前节点输出结果中的param参数值。

${START}

获取服务编排的请求参数,即开始节点的输出。

${NodeID}

获取ID为NodeID的节点的输出结果。

${NodeID.param}

获取NodeID节点输出结果中的param参数值。

服务编排示例

  1. 进入数据服务页面。

    登录DataWorks控制台,单击左侧导航栏的数据服务,在下拉框中选择对应工作空间后单击进入数据服务

  2. 注册API。

    本文通过注册API的方式生成一个新的API:

    1. 服务开发页面,鼠标悬停至阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技图标,单击注册API

      您也可以打开相应的业务流程,右键单击API,选择新建 > 注册API

    2. 注册API对话框中,配置各项参数。详情请参见注册API

    3. 单击确认

  3. 注册函数。

    1. 服务开发页面,鼠标悬停至阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技图标,单击函数 > 新建Python函数

      您也可以找到相应的业务流程,右键单击函数,选择新建 > 新建Python函数

    2. 新建Python函数对话框中,配置各项参数。详情请参见管理函数。

    3. 单击确认

    4. 进入函数的编辑页面,在编辑代码区域,输入以下代码。

      # -*- coding: utf-8 -*-
      # event (str) : in filter it is the API result, in other cases, it is your param
      # context : some environment information, temporarily useless
      # import module limit: json,time,random,pickle,re,math
      import json
      def handler(event,context):
          # load str to json object
          obj = json.loads(event)
          # add your code here
          # end add
          return obj
    5. 环境配置区域,设置内存超时时间

    6. 单击工具栏中的阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技图标。

  4. 创建服务编排。

    1. 服务开发页面,鼠标悬停至阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技图标,单击新建服务编排

      您也可以找到相应的业务流程,右键单击服务编排,选择新建服务编排

    2. 服务编排对话框中,配置各项参数。

      阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技

      参数

      描述

      API名称

      支持中文、英文、数字、下划线(_),且只能以英文或中文开头,4~50个字符。

      API Path

      API存放的路径,例如/user。

      说明

      支持英文、数字、下划线(_)和连字符(-),且只能以( /) 开头,不得超过200个字符。

      协议

      支持HTTPHTTPS

      如果您需要通过HTTPS协议调用API,请您发布API至网关后,在API网关控制台绑定独立域名,并上传SSL证书。详情请参见支持HTTPS。

      请求方式

      支持GETPOST

      返回类型

      仅支持JSON返回类型。

      可见范围

      包括工作空间私有

      • 工作空间:该API对本工作空间内的所有成员可见。

      • 私有:该API仅对API的负责人可见,且暂不支持授权。

        说明

        如果设置可见范围为私有,在目录树中,仅自己可见,工作空间内的其他成员不可见。

      标签

      标签列表中选择相应的标签,详情请参见创建及管理API标签。

      说明

      标签名称支持汉字、英文、数字和下划线(_),您最多可以设置5个标签,且每个标签不超过20个字符。

      描述

      对API进行简要描述,不得超过2000个字符。

      目标文件夹

      存放服务编排的目录。

    3. 单击确认

  5. 编辑服务编排。

    1. 在服务编排的编辑页面,您可以根据如图所示的顺序拖拽对应模块并连线。

      阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技

    2. 单击API1编辑节点,从选择API列表中选择注册的API名称,选中设置输出结果,并输入{"user_id":"$.data[0].id"}

      阿里云大数据开发治理平台 DataWorks服务编排功能介绍-云淘科技

      输出结果设置规则:使用JSONPath来进行处理,其中获取节点${NodeA.namea} 语法同入参规则一致。{"user_id":"$.data[0].id"}表示把当前节点的处理结果中的data数组的第一个值的id赋值给user_id。然后,输出{“user_id”:”value”} 形式的JSON数据。

    3. 单击PYTHON1节点后,从选择函数列表中选择注册的函数名称。

    4. 单击SWITCH1节点后,在编辑对话框中,单击设置分支条件

      条件表达式考察上一个节点的输出,例如,${节点ID.输出值名}>1$.输出值名>1。条件表达式支持的操作符包括==、!=、>=、>、<=、<、&&、!、()、+、-、*、/和%。

      本例中,user_id是上游输出结果,作为下游的请求参数。

      新分支1:$.user_id != 1   分支1中,上游的输出结果不等于1。
      新分支2:$.user_id == 1   分支2中,上游的输出结果等于1。
    5. 单击结束节点后,单击页面右侧的返回参数,配置返回参数。

  6. 测试服务编排。

    1. 单击页面右上方的测试

    2. API测试对话框中,单击确定

    3. 在页面下方查看运行日志运行结果

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:http://www.yunxiaoer.com/171762.html

(0)
上一篇 2023年12月10日 下午2:35
下一篇 2023年12月10日 下午2:37
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorks数据服务概述-云淘科技

    DataWorks的数据服务功能模块是灵活轻量、安全稳定的数据API构建平台,DataWorks数据服务作为数据库和数据应用之间的“桥梁”,旨在为个人、团队与企业提供全面的数据服务与共享能力,帮助用户统一管理面向内外部的API服务。您可通过数据服务快速将数据表生成API,或将已有API注册至数据服务平台统一发布、管理。本文为您介绍数据服务功能。 功能介绍 数…

  • 阿里云大数据开发治理平台 DataWorks数据服务概述-云淘科技

    DataWorks的数据服务功能模块是灵活轻量、安全稳定的数据API构建平台,DataWorks数据服务作为数据库和数据应用之间的“桥梁”,旨在为个人、团队与企业提供全面的数据服务与共享能力,帮助用户统一管理面向内外部的API服务。您可通过数据服务快速将数据表生成API,或将已有API注册至数据服务平台统一发布、管理。本文为您介绍数据服务功能。 功能介绍 数…

    2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks配置数据源-云淘科技

    数据服务可以通过数据源获取数据表的Schema信息,并执行数据API的查询请求。 前提条件 为了保障数据源和服务资源组之间的正常数据访问,需要完成网络连通与白名单的配置,否则将无法正常执行数据服务的相关任务。 公共资源组网络配置,请参见获取白名单IP地址:公共资源组。 独享服务资源组网络配置,请参见获取白名单IP地址:独享数据服务资源组。 操作步骤 进入数据…

    2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks管理函数-云淘科技

    本文为您介绍如何执行查看、克隆、删除和移动函数等管理操作。 查看函数信息 函数创建完成后,您可以在函数页面的侧边栏查看本函数的相关信息,下图以查看关联关系为例,为您示意查看各信息的页面入口。 在属性页面,您可以查看函数ID(函数唯一标志,可用于快速查找函数)、创建时间等基本信息。 在关联关系页面,您可以查看函数与已发布、未发布API的关联关系,建议您在删除或…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云大数据开发治理平台 DataWorks创建并管理业务流程-云淘科技

    本文为您介绍如何新建、修改和删除业务流程。 前提条件 在创建业务流程之前,您需要登录API网关控制台开通API网关服务,并且新建API分组。 背景信息 根据业务种类将不同类型的资源组织在一起,即构成业务流程,能够更好地帮助您以业务为单元进行开发。每一个业务流程下均包括API、函数和服务编排三个类目,分别存放您创建的API、函数和服务编排。 新建业务流程 进入…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。