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.