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

RestAPI(HTTP形式)數據源

RestAPI數據源為您提供讀取和寫入RestAPI雙向通道的功能,本文為您介紹DataWorks的RestAPI數據同步的能力支持情況。

使用限制

  • 目前該數據源僅支持獨享數據集成資源組

  • 目前不支持設置超時參數,當前DataWorks內置的請求超時時間是60s, 如果您的API查詢返回時間超過60s將導致任務失敗。

支持的字段類型

類型分類

數據集成column配置類型

整數類

LONG,INT

字符串類

STRING

浮點類

DOUBLE,FLOAT

布爾類

BOOLEAN

日期時間類

DATE

創建數據源

在進行數據同步任務開發時,您需要在DataWorks上創建一個對應的數據源,操作流程請參見創建并管理數據源詳細的配置參數解釋可在配置界面查看對應參數的文案提示

數據同步任務開發

數據同步任務的配置入口和通用配置流程可參見下文的配置指導。

單表離線同步任務配置指導

常見問題

  1. 只能指定好請求數據的翻頁次數嗎?

    答:是的

  2. 是否支持自動翻頁,例如當請求參數后面沒數據時便停止翻頁。

    答:不支持, 否則無法進行split切分。

  3. 如果需要指定翻頁次數,但指定翻頁次數比實際頁數多,導致后面數據為空,系統會如何處理?

    答:當后面頁數數據為空時,相當于SQL查到空數據,系統將會繼續查詢下一條數據。

  4. 只支持解析一層JSON據嗎?

    答:是的,不會進行深入解析。

  5. DataWorks數據集成RestAPI非數組類型如何配置?

    答:確保在readerparameter中,將dataPath設置為指向非數組類型數據的路徑,例如:dataPath:"data.list"。這將幫助插件正確地定位到您要讀取的數據字段。接下來,將dataMode設置為multiData。這意味著DataWorks將把數據作為多個單獨的記錄來處理,即使它們在源數據中并非數組形式。

    說明

    請注意,在multiData模式下,column配置不再適用。您應直接在dataPath中指定要讀取的數據路徑。

    以下是DataWorks數據集成RestAPI非數組類型的配置示例:

    reader: {
      name: "restapi",
      parameter: {
        dataPath: "data.list",
        dataMode: "multiData",
        // 其他參數
      }
    }

附錄:腳本Demo與參數說明

離線任務腳本配置方式

如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統一的腳本格式要求,在任務腳本中編寫相應的參數,詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數據源的參數配置詳情。

Reader腳本Demo

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"restapi",
            "parameter":{
                "url":"http://127.0.0.1:5000/get_array5",
                "dataMode":"oneData",
                "responseType":"json",
                "column":[
                    {
                        "type":"long",
                        "name":"a.b"  //從a.b路徑中查找數據
                    },
                    {
                        "type":"string",  //從a.c路徑中查找數據
                        "name":"a.c"
                    }
                ],
                "dirtyData":"null",
                "method":"get",
                "defaultHeader":{
                    "X-Custom-Header":"test header"
                },
                "customHeader":{
                    "X-Custom-Header2":"test header2"
                },
                "parameters":"abc=1&def=1"
            },
            "name":"restapireader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{

            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":""
        },
        "speed":{
            "throttle":true,  //當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1,  //作業并發數。 
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

腳本模式配置說明如下:

Restapi插件發出http(s)請求后,會獲得請求響應body(body是一個json),dataPath用來配置從body中提取數據的json path路徑。舉2個示例如下:


以接口返回數據body如下舉例,其中業務數據在DATA內,且接口一次返回了多行數據(DATA是一個數組):
{
    "HEADER": {
        "BUSID": "bid1",
        "RECID": "uuid",
        "SENDER": "dc",
        "RECEIVER": "pre",
        "DTSEND": "202201250000"
    },
    "DATA": [
        {
            "SERNR": "sernr1"
        },
        {
            "SERNR": "sernr2"
        }
    ]
}

如果需要將DATA中的多行數據抽取為多條同步記錄,則需要將 column 配置為 "column": [ "SERNR" ],dataMode 配置為 "dataMode": "multiData",dataPath 配置為 "dataPath": "DATA"


以接口返回數據body如下舉例,其中業務數據在content.DATA內,且接口一次返回了1行數據(DATA是一個對象):
{
    "HEADER": {
        "BUSID": "bid1",
        "RECID": "uuid",
        "SENDER": "dc",
        "RECEIVER": "pre",
        "DTSEND": "202201250000"
    },
    "content": {
        "DATA": {
            "SERNR": "sernr2"
        }
    }
}

如果需要將content.DATA中的一行數據抽取為一條同步記錄,則需要將 column 配置為 "column": [ "SERNR" ],dataMode 配置為 "dataMode": "oneData",dataPath 配置為 "dataPath": "content.DATA"
                

Reader腳本參數

說明

以下的參數包含在添加數據源和配置數據集成任務節點的過程中。

當前插件暫不支持使用調度參數。

參數

描述

是否必選

默認值

url

RESTful接口地址。

dataMode

RESTful請求返回的結果JSON數據的格式。

  • oneData:從返回的JSON中取其1條數據。

  • multiData:從返回的JSON中取一個JSON數組,傳遞多條數據給writer。

responseType

返回結果的數據格式,目前僅支持JSON格式。

JSON

column

讀取字段列表,type指定源數據的類型,name指定當前column數據獲取的JSON路徑。您可以指定column字段信息,配置如下。

"column":[{"type":"long","name":"a.b" //從a.b路徑中查找數據},{"type":"string","name":"a.c"http://從a.c路徑中查找數據}]

對于您指定的column信息,type和name必須填寫。

dataPath

從返回結果中查詢單個JSON對象或者JSON數組的路徑。

method

請求方法,支持get或post兩種方式。

customHeader

傳遞給RESTful接口的header信息。

parameters

傳遞給RESTful接口的參數信息。

  • get方法填入abc=1&def=1

  • post方法填入JSON類型參數。

dirtyData

當從指定的column json路徑中找不到數據時的處理方式。

  • dirty:當一條數據解析時遇到column找不時這條數據置為臟數據。

  • null:當一條數據解析時遇到column找不到時,這個column設置為null。

dirty

requestTimes

從RESTful地址中請求數據的次數。

  • single:只進行一次請求。

  • multiple:進行多次請求。

single

requestParam

若requestTimes設為multiple時,需要指定循環的參數,例如pageNumber,插件會根據設置的startIndex、endIndex、step三個參數循環傳遞pageNumber參數給RESTful接口,進行多次請求。

startIndex

循環請求的起點,起點包含在循環請求之內。

endIndex

循環請求的終點,終點包含在循環請求之內。

step

循環請求的步長。

authType

驗證方法。包括:

  • Basic Auth:基礎驗證。

    如果數據源API支持用戶名和密碼的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的用戶名和密碼,后續數據集成過程中對接數據源時,通過Basic Auth協議傳遞給RESTful地址,完成驗證。

  • Token Auth:Token驗證。

    如果數據源API支持Token的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的固定Token值,后續數據集成過程中對接數據源時,通過傳入header中進行驗證,例如:{"Authorization":"Bearer TokenXXXXXX"}。

    說明

    當您需要使用自定義加密方式時,可以考慮使用token認證方式,將加密后的認證信息作為authToken提供。

  • Aliyun API Signature:阿里云API簽名驗證。

    如果數據源為阿里云產品,且此阿里云產品的API支持通過AccessKey和AccessSecret的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的AccessKey和AccessSecret。

authUsername/authPassword

Basic Auth驗證的用戶名和密碼。

authToken

Token Auth驗證的token。

accessKey/accessSecret

Aliyun API簽名驗證的賬戶信息。

Writer腳本Demo

{
    "type":"job",
    "version":"2.0",
    "steps":[
        {
            "stepType":"stream",
            "parameter":{

            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"restapi",
            "parameter":{
                "url":"http://127.0.0.1:5000/writer1",
                "dataMode":"oneData",
                "responseType":"json",
                "column":[
                    {
                        "type":"long", //放置column數據到路徑a.b
                        "name":"a.b"
                    },
                    {
                        "type":"string", //放置column數據到路徑a.c
                        "name":"a.c"
                    }
                ],
                "method":"post",
                "defaultHeader":{
                    "X-Custom-Header":"test header"
                },
                "customHeader":{
                    "X-Custom-Header2":"test header2"
                },
                "parameters":"abc=1&def=1",
                "batchSize":256
            },
            "name":"restapiwriter",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0" //錯誤記錄數。
        },
        "speed":{
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
            "concurrent":1, //作業并發數。
            "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer腳本參數

參數

描述

是否必須

默認值

url

RESTful接口地址。

dataMode

RESTful請求傳遞的JSON數據的格式。

  • oneData:一次請求只傳遞一條數據,有幾條數據就進行幾次請求。

  • multiData:一次請求傳遞一批數據,根據reader端切分的task數確定請求次數。

column

生成JSON數據對應的字段路徑列表,type指定源數據的類型,name指定當前column數據放置的JSON路徑。您可以指定column字段信息,配置如下。

"column":[{"type":"long","name":"a.b" //放置column數據到路徑a.b},{"type":"string","name":"a.c"http://放置column數據到路徑a.c}]

說明

對于您指定的column信息,type和name必須填寫。

dataPath

數據結果放置的JSON對象的路徑。

method

請求方法,支持post和put。

customHeader

傳遞給RESTful接口的header信息。

authType

驗證方法。

  • Basic Auth:基礎驗證。

    如果數據源API支持用戶名和密碼的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的用戶名和密碼,后續數據集成過程中對接數據源時,通過Basic Auth協議傳遞給RESTful地址,完成驗證。

  • Token Auth:Token驗證。

    如果數據源API支持Token的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的固定Token值,后續數據集成過程中對接數據源時,通過傳入header中進行驗證,例如:{"Authorization":"Bearer TokenXXXXXX"}。

    說明

    當您需要使用自定義加密方式時,可以考慮使用token認證方式,將加密后的認證信息作為authToken提供。

  • Aliyun API Signature:阿里云API簽名驗證。

    如果數據源為阿里云產品,且此阿里云產品的API支持通過AccessKey和AccessSecret的方式進行驗證,您可選擇此種驗證方式,并在選擇完成后配置用于驗證的AccessKey和AccessSecret。

authUsername/authPassword

Basic Auth驗證的用戶名密碼。

authToken

Token Auth驗證的token。

accessKey/accessSecret

Aliyun API簽名驗證的賬戶信息。

batchSize

dataMode為multiData時,一次請求最大的數據條數。

512