日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

服務編排功能介紹

數據服務的服務編排為您提供拖拽式、可視化的工作流編排能力。您可以按照業務邏輯,以串行、并行和分支等結構編排多個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. 在左側導航欄單擊image圖標,進入服務開發頁面。

    2. 鼠標懸停至image圖標,單擊新建API > 注冊API

    3. 注冊API對話框中,配置各項參數。詳情請參見注冊API

    4. 單擊確定

  3. 注冊函數。

    1. 服務開發頁面,鼠標懸停至新建圖標,單擊函數 > 新建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. 單擊工具欄中的保存圖標。

  4. 創建服務編排。

    1. 服務開發頁面,鼠標懸停至新建圖標,單擊新建服務編排

      您也可以找到相應的業務流程,右鍵單擊服務編排,選擇新建服務編排

    2. 服務編排對話框中,配置各項參數。

      服務編排

      參數

      描述

      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. 在服務編排的編輯頁面,您可以根據如圖所示的順序拖拽對應模塊并連線。

      連線

    2. 單擊API1編輯節點,從選擇API列表中選擇注冊的API名稱,選中設置輸出結果,并輸入{"user_id":"$.data[0].id"}

      配置

      輸出結果設置規則:使用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. 在頁面下方查看運行日志運行結果