Creating a Rule Template
Function
This API is used to create a rule template.
Calling Method
For details, see Calling APIs.
URI
POST /v2/{project_id}/quality/rule-templates
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain it, see Project ID and Account ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
workspace |
Yes |
String |
DataArts Studio workspace ID. For details about how to obtain the workspace ID, see Instance ID and Workspace ID. |
X-Auth-Token |
Yes |
String |
IAM token. For details about how to obtain the token, see Authentication. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
No |
String |
Rule template ID |
name |
No |
String |
Rule template name |
directory_id |
No |
Long |
Directory ID |
dimension_id |
No |
Integer |
Dimension ID. Value 1 indicates completeness, 2 indicates uniqueness, 3 indicates timeliness, 4 indicates validity, 5 indicates accuracy, and 6 indicates consistency. |
description |
No |
String |
Description |
sql_info |
No |
String |
SQL content in the template |
result_description |
No |
String |
Result description |
publish |
No |
Boolean |
Whether the operation is a publish operation. Value true indicates publishing a new version, and false indicates saving the current version. |
origin_name |
No |
String |
Original template name |
abnormal_table_template |
No |
String |
Abnormal table template |
user_define_version_name |
No |
String |
User-defined version name |
version_num |
No |
Long |
Version number in the template information |
status |
No |
Integer |
Rule template status. Value 0 indicates offline, and 1 indicates published. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
id |
Long |
Rule template ID |
name |
String |
Rule template name |
category_id |
Long |
Catalog ID |
dimension |
String |
Dimension, which can be Completeness, Uniqueness, Timeliness, Validity, Accuracy, or Consistency |
type |
String |
Rule type. Field indicates a field rule, Table indicates a table rule, Database indicates a database rule, Cross-field indicates a cross-field rule, and Customize indicates a custom rule. |
system_template |
Boolean |
Whether the template is a system template |
sql_info |
String |
SQL information |
abnormal_table_template |
String |
Abnormal table template |
result_description |
String |
Result description |
create_time |
Long |
Creation time. The value is a 13-digit timestamp accurate to millisecond. |
creator |
String |
Creator. Value System indicates that the creator is provided by the system. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code, for example, DQC.0000 which indicates that the request was successfully processed |
error_msg |
String |
Error message |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code, for example, DQC.0000 which indicates that the request was successfully processed |
error_msg |
String |
Error message |
Example Requests
Create a rule template named test. The template ID is 0, directory ID is 0, dimension ID is 1, SQL content in the template is select count(*) from ${Schema_Table1}, release operation is false by default, result description is the total number of records, and description is test.
POST /v2/0833a5737480d53b2f25c010dc1a7b88/quality/rule-templates { "id" : "0", "name" : "test", "directory_id" : "0", "dimension_id" : 1, "description" : "test", "sql_info" : "select count(*) from ${Schema_Table1}", "result_description" : "Total number of records", "publish" : false, "origin_name" : null, "abnormal_table_template" : "select count(*) from ${Schema_Table1}", "user_define_version_name" : null, "version_num" : null, "status" : null }
Example Responses
Status code: 200
Success
{ "id" : "1045431715138617345", "name" : "test", "category_id" : 0, "dimension" : "Completeness", "type" : "Table", "system_template" : false, "sql_info" : "select count(*) from ${Schema_Table1}", "abnormal_table_template" : "select count(*) from ${Schema_Table1}", "result_description" : "Number of records", "create_time" : 1640678720014, "creator" : "test" }
SDK Sample Code
The SDK sample code is as follows.
Create a rule template named test. The template ID is 0, directory ID is 0, dimension ID is 1, SQL content in the template is select count(*) from ${Schema_Table1}, release operation is false by default, result description is the total number of records, and description is test.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.dataartsstudio.v1.region.DataArtsStudioRegion; import com.huaweicloud.sdk.dataartsstudio.v1.*; import com.huaweicloud.sdk.dataartsstudio.v1.model.*; public class CreateTemplateSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); DataArtsStudioClient client = DataArtsStudioClient.newBuilder() .withCredential(auth) .withRegion(DataArtsStudioRegion.valueOf("<YOUR REGION>")) .build(); CreateTemplateRequest request = new CreateTemplateRequest(); TemplateRO body = new TemplateRO(); body.withAbnormalTableTemplate("select count(*) from ${Schema_Table1}"); body.withPublish(false); body.withResultDescription("Total number of records"); body.withSqlInfo("select count(*) from ${Schema_Table1}"); body.withDescription("test"); body.withDimensionId(1); body.withDirectoryId(0L); body.withName("test"); body.withId("0"); request.withBody(body); try { CreateTemplateResponse response = client.createTemplate(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Create a rule template named test. The template ID is 0, directory ID is 0, dimension ID is 1, SQL content in the template is select count(*) from ${Schema_Table1}, release operation is false by default, result description is the total number of records, and description is test.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdataartsstudio.v1.region.dataartsstudio_region import DataArtsStudioRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdataartsstudio.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = DataArtsStudioClient.new_builder() \ .with_credentials(credentials) \ .with_region(DataArtsStudioRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateTemplateRequest() request.body = TemplateRO( abnormal_table_template="select count(*) from ${Schema_Table1}", publish=False, result_description="Total number of records", sql_info="select count(*) from ${Schema_Table1}", description="test", dimension_id=1, directory_id=0, name="test", id="0" ) response = client.create_template(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Create a rule template named test. The template ID is 0, directory ID is 0, dimension ID is 1, SQL content in the template is select count(*) from ${Schema_Table1}, release operation is false by default, result description is the total number of records, and description is test.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dataartsstudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dataartsstudio/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := dataartsstudio.NewDataArtsStudioClient( dataartsstudio.DataArtsStudioClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateTemplateRequest{} abnormalTableTemplateTemplateRo:= "select count(*) from ${Schema_Table1}" publishTemplateRo:= false resultDescriptionTemplateRo:= "Total number of records" sqlInfoTemplateRo:= "select count(*) from ${Schema_Table1}" descriptionTemplateRo:= "test" dimensionIdTemplateRo:= int32(1) directoryIdTemplateRo:= int64(0) nameTemplateRo:= "test" idTemplateRo:= "0" request.Body = &model.TemplateRo{ AbnormalTableTemplate: &abnormalTableTemplateTemplateRo, Publish: &publishTemplateRo, ResultDescription: &resultDescriptionTemplateRo, SqlInfo: &sqlInfoTemplateRo, Description: &descriptionTemplateRo, DimensionId: &dimensionIdTemplateRo, DirectoryId: &directoryIdTemplateRo, Name: &nameTemplateRo, Id: &idTemplateRo, } response, err := client.CreateTemplate(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Success |
400 |
BadRequest |
500 |
INTERNAL SERVER ERROR |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot