本文为您介绍如何通过OpenAPI注册外部系统血缘,注册成功后,可在Dataphin系统的资产清单查看。
前提条件
需购买OpenAPI功能。
使用限制
自定义注册血缘目前处于公测阶段。如您有相关需求,请联系Dataphin技术支持。
注册的血缘关系中所涉及的资产对象,其来源需在Dataphin系统中注册(即来自Dataphin中已存在的项目、板块、数据源)。其中,支持自定义注册血缘的数据源类型为大数据存储、关系型数据库、消息队列以及自定义数据源。
同一个API中支持注册或删除表级和字段级血缘。
每次调用注册血缘API,仅支持注册一对表之间的血缘关系,同时可指定这对表多组字段血缘关系,但最多支持100组,超过则调用失败。
仅支持删除通过OpenAPI注册的血缘关系,其他血缘关系不可删除,血缘删除后不可恢复,请在操作前进行确认。
权限说明
超级管理员、系统管理员和具有元数据-其他功能-注册外部血缘权限的自定义全局角色支持通过OpenAPI注册血缘。
血缘来源
Datapnin目前支持自动解析、手动配置和接口注册3种方式获取血缘。
自动解析:系统根据集成任务、SQL计算任务和逻辑表任务自动解析的血缘关系。
手动配置:在计算任务中手动配置的血缘关系,详情请参见自定义血缘配置。
接口注册:通过OpenAPI接口注册血缘。
使用场景
为您展示端(first mile ETL)到端(last mile BI)的血缘关系。在Dataphin系统中已存在或不存在的对象均有可能(如果数据源表进行了采集,则可能是已存在的对象)。
补全上游来源系统的血缘关系,可通过血缘溯源问题源头数据,进行问题定位。
补全下游消费系统的数据关联,可对数据变更可能产生的影响进行分析,对资产价值进行评估。
注册血缘
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 | |||
OpTenantId | long | 是 | 租户ID。 | 30001011 | |||
| object | 是 | 注册血缘,增加血缘command。 | / | |||
| object | 是 | source资产。 | / | |||
ReferenceType | string | 是 | 资产引用类型:BY_GUID, BY_PROPERTY。 | BY_GUID,BY_PROPERTY | |||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | |||
MetadataType | string | 是 | 资产类型,按实际情况填写。 | TABLE | |||
MetadataSubType | string | 否 | 资产子类型,仅在metadataType为TABLE,并且referenceType不是BY_GUID时填写。 |
| |||
Catalog | string | 否 | 资产属性,对于表而言, 计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | |||
Schema | string | 否 | 资产属性,对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | |||
Env | string | 否 | 所属环境,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | |||
Name | string | 否 | 资产名称,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | table1 | |||
ExtProperties | object | 否 | 扩展属性。 | / | |||
| object | 是 | Target资产。 | / | |||
ReferenceType | string | 是 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID,BY_PROPERTY | |||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | |||
MetadataType | string | 是 | 资产类型,按实际情况填写。 | TABLE | |||
MetadataSubType | string | 否 | 资产子类型,仅在metadataType为TABLE,并且referenceType不是BY_GUID时填写。 |
| |||
Catalog | string | 否 | 资产属性,对于表而言, 计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | |||
Schema | string | 否 | 资产属性,对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | |||
Env | string | 否 | 所属环境,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | |||
Name | string | 否 | 资产名称,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | table1 | |||
ExtProperties | object | 否 | 扩展属性。 | / | |||
| array | 否 | 详细血缘关系。对于表, 这里的详细血缘关系就是字段血缘,如果不想增加字段血缘,可以为空。 | / | |||
| object | 否 | 子对象血缘关系。 | / | |||
| object | 是 | source资产引用。 | / | |||
ReferenceType | string | 否 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID,BY_PROPERTY | |||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1.column1 | |||
ParentGuid | string | 否 | 父资产的Guid。如果当前对象是字段,那么parentGuid是字段所属表的Guid。 | odps.300000001.project1.table1 | |||
MetadataType | string | 否 | 资产类型,按实际情况填写。 | COLUMN | |||
Catalog | string | 否 | 资产属性,对于表而言, 计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | |||
Schema | string | 否 | 资产属性,对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | |||
Env | string | 否 | 所属环境,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | |||
Name | string | 否 | 资产名称,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | column1 | |||
ExtProperties | object | 否 | 扩展属性。 | / | |||
| object | 是 | Target资产引用。 | / | |||
ReferenceType | string | 否 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID,BY_PROPERTY | |||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1.column1 | |||
ParentGuid | string | 否 | 父资产的Guid,如果当前对象是字段,那么parentGuid是字段所属表的Guid。 | odps.300000001.project1.table1 | |||
MetadataType | string | 否 | 资产类型,按实际情况填写。 | COLUMN | |||
Catalog | string | 否 | 资产属性,对于表而言, 计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | |||
Schema | string | 否 | 资产属性,对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1, bizUnit1 | |||
Env | string | 否 | 所属环境,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV, PROD | |||
Name | string | 否 | 资产名称,该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | column1 | |||
ExtProperties | object | 否 | 扩展属性。 | / | |||
IsDirect | boolean | 否 | 是否是直接血缘,默认为True。 | / | |||
CheckAssetExist | boolean | 否 | 是否需要校验资产本身的存在性,默认不校验存在性。 | / | |||
RelationProperties | object | 否 | 血缘关系属性。 | / | |||
TenantId | long | 否 | 租户ID。 | 300001234 | |||
UserId | string | 否 | 当前用户ID。 | 300004567 | |||
返回参数
名称 | 类型 | 描述 | 示例值 | |
| object | Schema of Response。 | / | |
RequestId | string | Id of the request。 | 82E78D6B-AA8F-1FEF-8AA3-5C9DA2A79140 | |
Message | string | 后端相应异常详情。 | internal error | |
HttpStatusCode | integer | HTTP响应码。 | 200 | |
Code | string | 后端响应码。 | OK | |
Success | boolean | 请求成功与否。 | / | |
示例
正常返回示例
{
"RequestId":"82E78D6B-AA8F-1FEF-8AA3-5C9DA2A79140",
"Message":"internal error",
"HttpStatusCode": 200,
"Code": "OK",
"Success": "Success"
}删除血缘
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 | ||||
OpTenantId | long | 是 | 租户ID。 | 30001011 | ||||
| object | 是 | 注册血缘,删除血缘command。 | / | ||||
| object | 是 | 血缘的source。 | / | ||||
ReferenceType | string | 是 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID,BY_PROPERTY | ||||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | ||||
MetadataType | string | 是 | 资产类型,按实际情况填写。 | TABLE | ||||
MetadataSubType | string | 否 | 资产子类型,仅在metadataType为TABLE,并且referenceType不是BY_GUID时填写。 |
| ||||
Catalog | string | 否 | 资产属性。对于表而言,计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | ||||
Schema | string | 否 | 资产属性。对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | ||||
Env | string | 否 | 所属环境。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | ||||
Name | string | 否 | 资产名称。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | table1 | ||||
ExtProperties | object | 否 | 扩展属性。 | / | ||||
| object | 是 | 血缘的Target。 | / | ||||
ReferenceType | string | 是 | 资产引用类型:BY_GUID,BY_PROPERTY | BY_GUID,BY_PROPERTY | ||||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | ||||
MetadataType | string | 是 | 资产类型,按实际情况填写。 | TABLE | ||||
MetadataSubType | string | 否 | 资产子类型,仅在metadataType为TABLE,并且referenceType不是BY_GUID时填写。 |
| ||||
Catalog | string | 否 | 资产属性。对于表而言,计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | ||||
Schema | string | 否 | 资产属性。对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | ||||
Env | string | 否 | 所属环境。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | ||||
Name | string | 否 | 资产名称。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | table1 | ||||
ExtProperties | object | 否 | 扩展属性。 | / | ||||
| array | 否 | 详细血缘关系。对于表,这里的详细血缘关系就是字段血缘。 | / | ||||
| object | 否 | 子对象血缘关系。 | / | ||||
IsDirect | boolean | 否 | 是否是直接血缘,默认为True。 | / | ||||
| object | 是 | source资产引用。 | / | ||||
ReferenceType | string | 否 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID,BY_PROPERTY | ||||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | ||||
ParentGuid | string | 否 | 父资产的Guid。如果当前对象是字段,那么parentGuid是字段所属表的Guid。 | odps.300000001.project1.table1 | ||||
MetadataType | string | 否 | 资产类型,按实际情况填写。 | COLUMN | ||||
Catalog | string | 否 | 资产属性。对于表而言,计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | ||||
Schema | string | 否 | 资产属性。对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | ||||
Env | string | 否 | 所属环境。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | ||||
Name | string | 否 | 资产名称。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | column1 | ||||
ExtProperties | object | 否 | 扩展属性。 | / | ||||
| object | 是 | Target资产引用。 | / | ||||
ReferenceType | string | 否 | 资产引用类型:BY_GUID,BY_PROPERTY。 | BY_GUID, BY_PROPERTY | ||||
Guid | string | 否 | 资产Guid,在referenceType为BY_GUID时必填。 | odps.300000001.project1.table1 | ||||
ParentGuid | string | 否 | 父资产的Guid。如果当前对象是字段,那么parentGuid是字段所属表的Guid。 | odps.300000001.project1.table1 | ||||
MetadataType | string | 否 | 资产类型,按实际情况填写。 | COLUMN | ||||
Catalog | string | 否 | 资产属性。对于表而言,计算源表或者逻辑表的catalog统一为dataphin。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | dataphin | ||||
Schema | string | 否 | 资产属性。对于表而言,一般是项目或者业务板块。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | project1,bizUnit1 | ||||
Env | string | 否 | 所属环境。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | DEV,PROD | ||||
Name | string | 否 | 资产名称。该属性用于在referenceType为BY_PROPERTY时根据属性确定对应的资产,如果referenceType为BY_GUID,该属性无需填写。 | column1 | ||||
ExtProperties | object | 否 | 扩展属性。 | / | ||||
CascadeDeleteLineage | boolean | 否 | 是否在删除完所有detailedLineage后,自动删除对象血缘, 默认为True。 | / | ||||
TenantId | long | 否 | 租户ID。 | 300001234 | ||||
UserId | string | 否 | 当前用户ID。 | 300004567 | ||||
返回参数
名称 | 类型 | 描述 | 示例值 | |
| object | Schema of Response。 | / | |
RequestId | string | Id of the request。 | 82E78D6B-AA8F-1FEF-8AA3-5C9DA2A79140 | |
Message | string | 后端相应异常详情。 | internal error | |
HttpStatusCode | integer | HTTP响应码。 | 200 | |
Code | string | 后端响应码。 | OK | |
Success | boolean | 请求成功与否。 | / | |
示例
正常返回示例
{
"RequestId":"82E78D6B-AA8F-1FEF-8AA3-5C9DA2A79140",
"Message":"internal error",
"HttpStatusCode": 200,
"Code": "OK",
"Success": "Success"
}错误码
错误代码 | 状态码 | 错误信息 | 描述 |
DataphinOpenAPIRamUnAuthorized | 401 | You are not authorized to do this action, you should be authorized by RAM. | API调⽤没有被授权,需要通过RAM访问控制对账号进⾏授权。 |
DataphinOpenApiForbidden | 403 | Openapi request is forbidden, maytenantId invalid. | 接⼝请求被拒绝,请确认是否有效租户ID。 |