Skip to content

Ruleset ​

The Ruleset resource allows you to manage AWS DataBrew Rulesets for data quality checks and validation. With this resource, you can define rules that help ensure your data meets specific criteria before processing or analysis.

Minimal Example ​

Create a simple Ruleset with required properties and a description.

ts
import AWS from "alchemy/aws/control";

const basicRuleset = await AWS.DataBrew.Ruleset("basic-ruleset", {
  Name: "BasicDataQualityRules",
  TargetArn: "arn:aws:databrew:us-east-1:123456789012:dataset/sample-dataset",
  Rules: [
    {
      Name: "CheckForNulls",
      Condition: {
        Field: "customer_id",
        Operator: "is_null"
      },
      Action: {
        ActionType: "FAIL",
        Severity: "HIGH"
      }
    }
  ],
  Description: "A basic ruleset to check for null values in the customer ID."
});

Advanced Configuration ​

Configure a Ruleset with multiple rules and tags for better management.

ts
const advancedRuleset = await AWS.DataBrew.Ruleset("advanced-ruleset", {
  Name: "AdvancedDataQualityRules",
  TargetArn: "arn:aws:databrew:us-east-1:123456789012:dataset/advanced-dataset",
  Rules: [
    {
      Name: "CheckForNulls",
      Condition: {
        Field: "customer_id",
        Operator: "is_null"
      },
      Action: {
        ActionType: "FAIL",
        Severity: "HIGH"
      }
    },
    {
      Name: "CheckForDuplicates",
      Condition: {
        Field: "email",
        Operator: "is_duplicate"
      },
      Action: {
        ActionType: "WARN",
        Severity: "MEDIUM"
      }
    }
  ],
  Tags: [
    {
      Key: "Project",
      Value: "DataQuality"
    },
    {
      Key: "Environment",
      Value: "Production"
    }
  ],
  Description: "An advanced ruleset for comprehensive data quality checks."
});

Using Adoption Feature ​

Create a Ruleset that adopts an existing resource instead of failing.

ts
const adoptableRuleset = await AWS.DataBrew.Ruleset("adoptable-ruleset", {
  Name: "AdoptableDataQualityRules",
  TargetArn: "arn:aws:databrew:us-east-1:123456789012:dataset/adoptable-dataset",
  Rules: [
    {
      Name: "CheckValueRange",
      Condition: {
        Field: "age",
        Operator: "is_in_range",
        Values: ["18", "65"]
      },
      Action: {
        ActionType: "WARN",
        Severity: "LOW"
      }
    }
  ],
  Description: "A ruleset that adopts existing resources.",
  adopt: true
});