在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技術支援。