[ aws . databrew ]



Creates a new ruleset that can be used in a profile job to validate the data quality of a dataset.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--name <value>
[--description <value>]
--target-arn <value>
--rules <value>
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--name (string)

The name of the ruleset to be created. Valid characters are alphanumeric (A-Z, a-z, 0-9), hyphen (-), period (.), and space.

--description (string)

The description of the ruleset.

--target-arn (string)

The Amazon Resource Name (ARN) of a resource (dataset) that the ruleset is associated with.

--rules (list)

A list of rules that are defined with the ruleset. A rule includes one or more checks to be validated on a DataBrew dataset.


Represents a single data quality requirement that should be validated in the scope of this dataset.

Name -> (string)

The name of the rule.

Disabled -> (boolean)

A value that specifies whether the rule is disabled. Once a rule is disabled, a profile job will not validate it during a job run. Default value is false.

CheckExpression -> (string)

The expression which includes column references, condition names followed by variable references, possibly grouped and combined with other conditions. For example, (:col1 starts_with :prefix1 or :col1 starts_with :prefix2) and (:col1 ends_with :suffix1 or :col1 ends_with :suffix2) . Column and value references are substitution variables that should start with the ‘:’ symbol. Depending on the context, substitution variables’ values can be either an actual value or a column name. These values are defined in the SubstitutionMap. If a CheckExpression starts with a column reference, then ColumnSelectors in the rule should be null. If ColumnSelectors has been defined, then there should be no column reference in the left side of a condition, for example, is_between :val1 and :val2 .

For more information, see Available checks

SubstitutionMap -> (map)

The map of substitution variable names to their values used in a check expression. Variable names should start with a ‘:’ (colon). Variable values can either be actual values or column names. To differentiate between the two, column names should be enclosed in backticks, for example, ":col1": "`Column A`".

key -> (string)

value -> (string)

Threshold -> (structure)

The threshold used with a non-aggregate check expression. Non-aggregate check expressions will be applied to each row in a specific column, and the threshold will be used to determine whether the validation succeeds.

Value -> (double)

The value of a threshold.

Type -> (string)

The type of a threshold. Used for comparison of an actual count of rows that satisfy the rule to the threshold value.

Unit -> (string)

Unit of threshold value. Can be either a COUNT or PERCENTAGE of the full sample size used for validation.

ColumnSelectors -> (list)

List of column selectors. Selectors can be used to select columns using a name or regular expression from the dataset. Rule will be applied to selected columns.


Selector of a column from a dataset for profile job configuration. One selector includes either a column name or a regular expression.

Regex -> (string)

A regular expression for selecting a column from a dataset.

Name -> (string)

The name of a column from a dataset.

Shorthand Syntax:

Name=string,Disabled=boolean,CheckExpression=string,SubstitutionMap={KeyName1=string,KeyName2=string},Threshold={Value=double,Type=string,Unit=string},ColumnSelectors=[{Regex=string,Name=string},{Regex=string,Name=string}] ...

JSON Syntax:

    "Name": "string",
    "Disabled": true|false,
    "CheckExpression": "string",
    "SubstitutionMap": {"string": "string"
    "Threshold": {
      "Value": double,
      "Unit": "COUNT"|"PERCENTAGE"
    "ColumnSelectors": [
        "Regex": "string",
        "Name": "string"

--tags (map)

Metadata tags to apply to the ruleset.

key -> (string)

value -> (string)

Shorthand Syntax:


JSON Syntax:

{"string": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


Name -> (string)

The unique name of the created ruleset.