Converting a Logical Model to a Physical Model
Function
This API is used to convert a logical model to a physical model and displays information of the physical model.
Exception: If attributes of the target model such as id are null, call the following API for obtaining the operation result to obtain the error message: GET https://{endpoint}/v1/{project_id}/design/operation-results?operation_type=TRANSFORM_LOGIC_MODEL&operation_id={model_id}, where {model_id} is the path parameter of this API.
Constraints and limitations:
-
If target_model_id does not match target_model_name, the former takes precedence over the latter.
-
If target_model_id does not match dw_type, no model can be found and a message is displayed.
Calling Method
For details, see Calling APIs.
URI
PUT /v1/{project_id}/design/workspaces/{model_id}/transform
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Project ID. For details about how to obtain the project ID, see Project ID and Account ID. |
| model_id | Yes | String | ID of the relational model, which is a string. The value of model_id can be obtained from the API used to obtain a model. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | IAM token, which is obtained by calling the IAM API for obtaining a user token (value of X-Subject-Token in the response header). This field is mandatory for authentication using tokens. |
| workspace | Yes | String | Workspace ID. For details about how to obtain the workspace ID, see Instance ID and Workspace ID. |
| X-Project-Id | No | String | Project ID. For details about how to obtain the project ID, see Project ID and Account ID. This parameter is mandatory for API requests that use AK/SK authentication in multi-project scenarios. |
| Content-Type | No | String | Default value: application/json;charset=UTF-8 This parameter is optional. If the body is available, this parameter is mandatory. If the body is unavailable, you do not need to set this parameter or verify it. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| target_model_id | No | String | ID of the target relational model, which is a string Note: If an existing target_model_name is used, this parameter is mandatory and its value must be the same as the existing model ID. |
| target_model_name | Yes | String | Name of the workspace. |
| description | No | String | Description. |
| update_exist_tables | No | Boolean | Indicates whether to update an existing table. |
| ids | No | Array of strings | List of the IDs of the logical entities to be materialized |
| dw_type | Yes | String | Data connection type, which corresponds to the type of the data warehouse where the table is located. The value can be DWS, MRS_HIVE, POSTGRESQL, MRS_SPARK, CLICKHOUSE, MYSQL, ORACLE, or DORIS. |
| connection_id | No | String | ID of the data connection to which the converted physical table belongs. |
| database | No | String | Database to which the converted physical table belongs. |
| queue | No | String | Queue to which the converted physical table belongs (only for DLI). |
| schema | No | String | Schema to which the physical table belongs after conversion (only for DWS and PostgreSQL). |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| data | data object | data: unified outermost data structure of the returned result. |
| Parameter | Type | Description |
|---|---|---|
| value | WorkspaceVO object | value: unified outer data structure of the returned result. |
| Parameter | Type | Description |
|---|---|---|
| id | String | ID, which is a string |
| name | String | Name of the workspace. |
| description | String | Description. |
| is_physical | Boolean | Indicates whether a table is a physical table. |
| frequent | Boolean | Indicates whether it is commonly used. |
| top | Boolean | Hierarchical governance. |
| level | String | Data governance layers. Options:
|
| dw_type | String | Data connection type, which corresponds to the type of the data warehouse where the table is located. The value can be DWS, MRS_HIVE, POSTGRESQL, MRS_SPARK, CLICKHOUSE, MYSQL, ORACLE, or DORIS. |
| create_time | String | Creation time, which is read-only. The format complies with RFC3339 and is accurate to seconds. The UTC time zone is yyyy-mm-ddTHH:MM:SSZ, for example, 1970-01-01T00:00:00Z. |
| update_time | String | Update time, which is read-only. The format complies with RFC3339 and is accurate to seconds. The UTC time zone is yyyy-mm-ddTHH:MM:SSZ, for example, 1970-01-01T00:00:00Z. |
| create_by | String | Creator. |
| update_by | String | Person who updates the information. |
| type | String | Defines the workspace type enumeration. Options:
|
| biz_catalog_ids | String | {"l1Ids":[],"l2Ids":[],"l3Ids":[]}: ID list of associated service catalogs. |
| databases | Array of strings | Array of database names. |
| table_model_prefix | String | Model verification prefix. The value contains a maximum of 100 characters, including digits, letters, and underscores (_), and starts with a letter. |
Status code: 400
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Error code, for example, DS.6000, indicating that the request fails to be processed. |
| error_msg | String | Error message |
| data | Object | Returned data information. |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Error code, for example, DS.6000, indicating that the request fails to be processed. |
| error_msg | String | Error message |
| data | Object | Returned data information. |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Error code, for example, DS.6000, indicating that the request fails to be processed. |
| error_msg | String | Error message |
| data | Object | Returned data information. |
Example Requests
Convert a logical model whose model_id is 1184439352260976640 to a physical model.
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" ]
} Example Responses
Status code: 200
The operation succeeds. The target physical WorkspaceVO is returned. The conversion result can be obtained from the API used to obtain the batch operation result.
{
"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" : ""
}
}
} Status code: 400
BadRequest
{
"error_code" : "DS.60xx",
"error_msg" : "The user request is illegal."
} Status code: 401
Unauthorized
{
"error_code" : "DS.60xx",
"error_msg" : "User authentication failed."
} Status code: 403
Forbidden
{
"error_code" : "DS.60xx",
"error_msg" : "The user does not have permission to call this API."
} Status Codes
| Status Code | Description |
|---|---|
| 200 | The operation succeeds. The target physical WorkspaceVO is returned. The conversion result can be obtained from the API used to obtain the batch operation result. |
| 400 | BadRequest |
| 401 | Unauthorized |
| 403 | Forbidden |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.