DataQualityRuleset ​
The DataQualityRuleset resource allows you to define and manage AWS Glue DataQuality Rulesets. These rulesets enable you to validate the quality of your data within AWS Glue.
Minimal Example ​
Create a basic DataQualityRuleset with the required properties and a common optional property.
ts
import AWS from "alchemy/aws/control";
const dataQualityRuleset = await AWS.Glue.DataQualityRuleset("basicDataQualityRuleset", {
Ruleset: JSON.stringify([{ ruleName: "CheckNulls", ruleType: "NullCheck", targetColumn: "customer_id" }]),
Description: "A basic ruleset to check for null values in customer_id.",
TargetTable: {
DatabaseName: "sales_db",
TableName: "customers"
},
Name: "basic_ruleset"
});
Advanced Configuration ​
Configure a DataQualityRuleset with additional properties for more complex validation rules.
ts
const advancedDataQualityRuleset = await AWS.Glue.DataQualityRuleset("advancedDataQualityRuleset", {
Ruleset: JSON.stringify([
{ ruleName: "CheckNulls", ruleType: "NullCheck", targetColumn: "customer_id" },
{ ruleName: "CheckEmailFormat", ruleType: "RegexCheck", targetColumn: "email", regex: "^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$" }
]),
Description: "An advanced ruleset to validate customer data quality.",
TargetTable: {
DatabaseName: "sales_db",
TableName: "customers"
},
ClientToken: "unique-client-token-12345",
Tags: {
environment: "production",
team: "data-quality"
},
Name: "advanced_ruleset"
});
Using Existing Resources ​
Create a DataQualityRuleset that adopts an existing resource instead of failing if it already exists.
ts
const adoptableDataQualityRuleset = await AWS.Glue.DataQualityRuleset("adoptableDataQualityRuleset", {
Ruleset: JSON.stringify([{ ruleName: "CheckDuplicates", ruleType: "DuplicateCheck", targetColumn: "customer_email" }]),
Description: "A ruleset that checks for duplicate emails.",
TargetTable: {
DatabaseName: "sales_db",
TableName: "customers"
},
adopt: true,
Name: "adoptable_ruleset"
});