天天看点

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技术支持。