转换逻辑模型为物理模型
功能介绍
转换逻辑模型为物理模型,转换成功则显示转换后的目标模型信息。
异常:目标模型信息的“id”等属性为null时,则需要调用《获取操作结果》接口查看具体报错信息:GET https://{endpoint}/v1/{project_id}/design/operation-results?operation_type=TRANSFORM_LOGIC_MODEL&operation_id={model_id},其中{model_id}为本接口的路径参数。
约束与限制:
1、target_model_id与target_model_name不对应时,target_model_id优先级高于target_model_name。
2、target_model_id与dw_type不对应时,会找不到模型,提示:模型不存在。
调用方法
请参见如何调用API。
URI
PUT /v1/{project_id}/design/workspaces/{model_id}/transform
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
IAM Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 使用Token认证时必选。 |
workspace |
是 |
String |
工作空间ID,获取方法请参见实例ID和工作空间ID。 |
X-Project-Id |
否 |
String |
项目ID,获取方法请参见项目ID和账号ID。 多project场景采用AK/SK认证的接口请求,则该字段必选。 |
Content-Type |
否 |
String |
默认值:application/json;charset=UTF-8 可选,有Body体的情况下必选,没有Body体则无需填写和校验。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
target_model_id |
否 |
String |
关系建模的目标模型ID,填写String类型替代Long类型。 注意:当使用已经存在的target_model_name时,该值为必填项,且要与已存在的模型ID保持一致。 |
target_model_name |
是 |
String |
工作区名字。 |
description |
否 |
String |
描述。 |
update_exist_tables |
否 |
Boolean |
是否更新已有表。 |
ids |
否 |
Array of strings |
需要物化的逻辑实体的ID列表,填写String类型替代Long类型。 |
dw_type |
是 |
String |
数据连接类型,对应表所在的数仓类型,取值可以为DWS、MRS_HIVE、POSTGRESQL、MRS_SPARK、CLICKHOUSE、MYSQL、ORACLE和DORIS等。 |
connection_id |
否 |
String |
转化后物理表所属的数据连接ID。 |
database |
否 |
String |
转化后物理表所属的数据库。 |
queue |
否 |
String |
转化后物理表所属的队列(仅DLI)。 |
schema |
否 |
String |
转化后物理表所属的schema(仅DWS和PostgreSQL)。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
data |
data object |
data,统一的返回结果的最外层数据结构。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
编号,填写String类型替代Long类型。 |
name |
String |
工作区名字。 |
description |
String |
描述。 |
is_physical |
Boolean |
是否为物理表。 |
frequent |
Boolean |
是否为常用。 |
top |
Boolean |
分层治理。 |
level |
String |
数据治理分层。 枚举值:
|
dw_type |
String |
数据连接类型,对应表所在的数仓类型,取值可以为DWS、MRS_HIVE、POSTGRESQL、MRS_SPARK、CLICKHOUSE、MYSQL、ORACLE和DORIS等。 |
create_time |
String |
创建时间,只读,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z。 |
update_time |
String |
更新时间,只读,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z。 |
create_by |
String |
创建人。 |
update_by |
String |
更新人。 |
type |
String |
工作区类型枚举。 枚举值:
|
biz_catalog_ids |
String |
关联的业务分层的ID列表 {"l1Ids":[],"l2Ids":[],"l3Ids":[]}。 |
databases |
Array of strings |
数据库名称数组。 |
table_model_prefix |
String |
模型校验前缀,长度不超过100,数字字母下划线组成,字母开头 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码,如DS.6000,请求处理失败。 |
error_msg |
String |
错误信息。 |
data |
Object |
返回的数据信息。 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码,如DS.6000,请求处理失败。 |
error_msg |
String |
错误信息。 |
data |
Object |
返回的数据信息。 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码,如DS.6000,请求处理失败。 |
error_msg |
String |
错误信息。 |
data |
Object |
返回的数据信息。 |
请求示例
将model_id为1184439352260976640的逻辑模型转化为物理模型。
PUT https://{endpoint}/v1/{project_id}/design/workspaces/1184439352260976640/transform { "target_model_id" : "1234524753512017920", "target_model_name" : "dws0429", "update_exist_tables" : false, "description" : "", "dw_type" : "DWS", "connection_id" : "92558783022c4ac88965e045b7c7078c", "database" : "gaussdb", "schema" : "public", "ids" : [ "1238437092523188266" ] }
响应示例
状态码: 200
Success,返回data数据是目标物理WorkspaceVO信息,最终的转换结果需要从获取批量操作结果的接口中获取。
{ "data" : { "value" : { "id" : "1234524753512017920", "name" : "dws0429", "description" : "", "is_physical" : true, "frequent" : false, "top" : true, "level" : null, "dw_type" : "DWS", "create_time" : "2024-04-29T15:20:38+08:00", "update_time" : "2024-04-29T15:20:38+08:00", "create_by" : "test_uesr", "update_by" : "test_uesr", "type" : "THIRD_NF", "biz_catalog_ids" : null, "databases" : null, "table_model_prefix" : "" } } }
状态码: 400
{ "error_code" : "DS.60xx", "error_msg" : "The user request is illegal." }
状态码: 401
{ "error_code" : "DS.60xx", "error_msg" : "User authentication failed." }
状态码: 403
{ "error_code" : "DS.60xx", "error_msg" : "The user does not have permission to call this API." }
状态码
状态码 |
描述 |
---|---|
200 |
Success,返回data数据是目标物理WorkspaceVO信息,最终的转换结果需要从获取批量操作结果的接口中获取。 |
400 |
BadRequest |
401 |
Unauthorized |
403 |
Forbidden |