天天看點

Dataphin OpenAPI概覽1 OpenAPI子產品說明2 OpenAPI典型場景3 OpenAPI Java SDK

在Dataphin V2.9.2及以上版本,Dataphin提供了一套OpenAPI以滿足客戶定制化的需求。本文為您介紹OpenAPI的基本子產品,和OpenAPI可滿足的典型的場景。

Dataphin OpenAPI可使用的版本為Dataphin非标獨立部署。專有雲部署和公共雲多租戶部署暫未開放。若您需要使用Dataphin OpenAPI,請聯系阿裡雲商務或阿裡雲解決方案架構師。

1 OpenAPI子產品說明

Dataphin開放了以下子產品以供客戶按需開通。

OpenApi子產品 說明
Dataphin-OpenAPI(運維)

利用該API子產品,使用者可建構個性化的運維工具,通過API可完成節點及執行個體的相關操作,有可以擷取Dataphin的告警事件及告警消息。

目前開放的API主要針對離線腳碼任務和管道內建任務。規範模組化相關的任務運維的API暫未開放。

Dataphin-OpenAPI(研發)

通過該API子產品,使用者可将Dataphin研發平台的部分能力內建到其他系統中。該API子產品主要提供了離線腳本任務和管道內建任務的查詢、建立、修改和删除的能力,也提供了上傳和管理資源、建立管理UDF的能力。基于這些能力,使用者可以定制化的開發資料內建的工具,以及輕度的自助取數和即席查詢的能力。

OpenAPI不提供規範模組化的模組化能力。

Dataphin-OpenAPI(資産) 通過該API子產品,使用者可以查詢Dataphin的資産中繼資料的資訊。包括查詢實體表與邏輯表的字段及分區,查詢表的血緣。
Dataphin-OpenAPI(平台管理) 通過平台管理相關的API,使用者可查詢目前購買的産品的功能特性,建立及管理資料源、查詢項目資訊、管理項目成員,管理Dataphin的成員,以及給使用者授權和回收資料源權限。

1.1 Dataphin-OpenAPI(運維)

子子產品 API API說明
節點 CreatePhysicalNodeSupplement 建立補資料工作流
GetPhysicalNodeByOutput 根據輸出名查詢實體節點。僅支援離線代碼節點及內建任務節點
GetPhysicalNodeContent 擷取物化代碼資訊
GetPhysicalNodeOperationLog 擷取節點記錄檔
GetPhysicalNode 擷取節點詳情
ListNodes 擷取節點清單
PausePhysicalNode 暫停節點排程,暫時僅支援離線代碼任務及內建任務
QueryDagFromPhysicalNode 查詢節點上下遊
ResumePhysicalNode 回複節點排程,暫時僅支援離線代碼任務及內建任務
執行個體 GetInstanceDownstream 查詢執行個體下遊
GetPhysicalInstanceLog 查詢執行個體記錄檔
ListNormalInstance 根據節點ID、環境(開發/生産)擷取節點執行個體的清單,包括周期執行個體手動執行個體
ListSupplementDagrun 根據節列出補資料工作流下的每一個業務日期對應的DagRun資訊
ListSupplementInstance 列出補資料工作流下具體一個業務日期的任務執行個體
OperateInstance 執行個體運維操作
告警消息 GetAlertEvent 擷取告警事件詳情
QueryAlertEvents 查詢告警事件
QueryAlertNotifications 查詢告警記錄

1.2 Dataphin-OpenAPI(研發)

檔案 CreateAdHocFile 建立即席查詢檔案
CreateFolder 建立菜單樹目錄
DeleteAdHocFile 删除即席查詢檔案
DeleteFolder 删除菜單樹目錄
GetAdHocFile 查詢即席查詢檔案
ListFiles 查詢菜單樹目錄檔案
MoveFile 移動菜單樹檔案位置
RenameFile 重命名菜單樹檔案
UpdateAdHocFile 更新即席查詢檔案
離線代碼任務 CreateBatchTaskFile 建立離線計算任務
DeleteBatchTaskFile 删除離線計算任務,删除之前需先下線任務
GetBatchTaskFile 查詢離線計算任務詳情
ListBatchTaskFileVersions 查詢離線計算任務曆史版本
OfflineBatchTaskFile 下線離線計算任務
ParseDependency 解析離線計算任務的邏輯表依賴
SubmitBatchTaskFile 送出離線計算任務
UpdateBatchTaskFile 更新離線計算任務
ExecTask 執行即席查詢任務
KillTask 終止即席查詢任務
QueryTaskLog 擷取即席查詢的任務運作日志
QueryTaskResult 擷取即席查詢的任務運作結果
管道 AsyncCreatePipeline 異步一鍵式建立管道
CreatePipeline 建立管道任務
GetAsyncExeResult 查詢異步執行狀态及結果
GetPipeline 查詢管道任務詳情
ListAsyncExeResult 批量查詢異步執行狀态及結果
ListPipeline 批量查詢管道任務
OfflineAndDeletePipeline 下線管道任務,可删除管道
OfflinePipeline 下線管道任務
SubmitPipeline 送出管道任務
UpdatePipeline 更新管道任務
釋出 GetLatestSubmitDetail 擷取待釋出對象詳情
ListObjectsToPublish 查詢待釋出對象清單
ListPublishingHistory 查詢釋出記錄
PublishObject 釋出對象
資源 CreateResource 建立資源
DeleteResource 删除資源
GetResource 擷取資源詳情
GetResourceStorageCredential 擷取上傳資源檔案的存儲配置,可支援OSS和Ceph對象存儲
UpdateResource 更新資源
函數 CreateUdf 建立UDF
DeleteUdf 删除UDF
GetUdf 擷取UDF詳情
UpdateUdf 更新UDF

1.3 Dataphin-OpenAPI(資産)

中繼資料 http://gitlab.alibaba-inc.com/dataphin/dataphin-openapi-sdk/blob/master/doc/metadata/QueryTableLineage.md ListLogicTableColumns 查詢邏輯表的列
ListRealtimeTableColumns 查詢實時元表的列
ListTableColumns 查詢實體表的列
ListTablePartitions 查詢實體分區資料
ListTables 查詢表資産
QueryLogicTable 查詢邏輯表詳情
QueryRealtimeTable 查詢實時元表
QueryTable 查詢實體表
QueryTableLineage 擷取血緣資訊

1.4 Dataphin-OpenAPI(平台管理)

購買特性 ListFeatures 擷取目前租戶可用的特性清單.
資料源 CheckDataSourceConnectivity 檢查資料源連通性.
CheckExistDataSourceConnectivity 檢查已建立的資料源連通性。
CreateDataSource 建立資料源,支援單獨建立生産環境資料源,同時建立開發、生産資料源,為生産環境資料源建立開發環境資料源三種模式。
DeleteDevProdModeDataSource 删除資料源,支援隻删除開發環境中的資料源,或者同時删除開發、生産資料源,Dataphin系統目前不允許開發環境資料源單獨存在。
SearchDataSourceConfig 搜尋資料源,結果分頁傳回,傳回資料源結構為開發、生産成對組合。
UpdateDataSourceBasicInfo 更新資料源的基本資訊,如名稱、描述。
UpdateDataSourceConfiguration 更新資料源配置資訊,如連接配接URL、使用者名、密碼等。
計算引擎 CheckComputeSourceConnectivityById 根據項目Id檢查項目連通性
CheckComputeSourceConnectivity
CreateComputeSource 建立計算源
DeleteComputeSource 删除計算源
GetComputeSource 根據計算源Id擷取計算源資訊
QueryComputeSource 計算源批量查詢
UpdateComputeSource 更新計算源
項目 AddProjectMembers 添加項目成員API,支援添加項目Basic和DEV_PROD項目的項目成員。
CheckProjectHasDependency 檢查項目是否存在依賴
DeleteProjectMembers 删除項目成員
GetProject 擷取項目詳情
ListProjectByProjectType 根據項目類别篩選項目
ListProjectMembers 查詢項目成員
QueryProjectWhiteList 查詢項目白名單
UpdateBasicProject 更新Basic項目資訊
UpdateDevProdProject 更新Dev_Prod項目資訊
UpdateProjectMembers 更新項目成員
UpsertProjectWhiteList 更新項目白名單
使用者與授權 AddUser 添加租戶成員
BatchGetUsers 批量擷取使用者資訊
ListUsers 擷取使用者清單
RemoveUser 删除租戶成員
GetDataSourceUserList 根據資料源Id查詢擁有權限的使用者
GetProjectProduceUser 獲得項目生産賬号
GetRoleListByUserId 擷取某個使用者所擁有的角色清單
GrantPermissionToDataSource 授予資料源多個使用者多個行為權限
GrantRole 授予使用者角色
IsProductAdmin 判斷目前使用者是否是超級管理者
RevokePermissionFromDataSource 回收使用者的資料源權限

2 OpenAPI典型場景

2.1 通過API建構自動補資料工具

Dataphin平台提供了補資料功能,當需要補資料時,使用者可手動對某個節點及其下遊的節點的特定業務日期的補資料。在實際場景中,有些上遊的資料到達的時間晚于預期時間,比如門店的資料延遲幾天或者一個月的時間才收集上報,或者上遊的資料錯誤需進行更正時,就需要進行補資料操作。此類操作重複度高,且由于補資料的時間較長帶來較大的運維成本。通過Open API的運維子產品就可以根據特定的業務場景開發适用于特定業務場景的個性化的補資料或運維工具。

2.2 通過API建構自助取數工具

Dataphin的資産營運平台提供了資産盤點和自助取數的工具。您也可以通過API建構自助取數工具。通過自助取數工具可滿足業務方的自助取數的需求,加快取數的便捷性。

2.3 管理Dataphin的成員

企業内部通常有自己的使用者和權限管理系統,Dataphin提供的API可在Dataphin系統外集中式的管理Dataphin的使用者、項目成員及角色。

目前OpenAPI暫不支援删除服務的成員,轉交資源權限和負責人,調用删除使用者接口的時候需注意該成員不是資料服務的成員,且已經從各個項目中删除掉該使用者。

3 OpenAPI Java SDK

為增加Dataphin OpenAPI的易用性,我們也釋出了配套的Java SDK,Dataphin提供的API也以基于SDK進行解釋說明。如需SDK,請聯系您所在企業對應的Dataphin技術支援。