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