create_configured_table_analysis_rule

CleanRoomsService.Client.create_configured_table_analysis_rule(**kwargs)

Creates a new analysis rule for a configured table. Currently, only one analysis rule can be created for a given configured table.

See also: AWS API Documentation

Request Syntax

response = client.create_configured_table_analysis_rule(
    configuredTableIdentifier='string',
    analysisRuleType='AGGREGATION'|'LIST',
    analysisRulePolicy={
        'v1': {
            'list': {
                'joinColumns': [
                    'string',
                ],
                'listColumns': [
                    'string',
                ]
            },
            'aggregation': {
                'aggregateColumns': [
                    {
                        'columnNames': [
                            'string',
                        ],
                        'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                    },
                ],
                'joinColumns': [
                    'string',
                ],
                'joinRequired': 'QUERY_RUNNER',
                'dimensionColumns': [
                    'string',
                ],
                'scalarFunctions': [
                    'TRUNC'|'ABS'|'CEILING'|'FLOOR'|'LN'|'LOG'|'ROUND'|'SQRT'|'CAST'|'LOWER'|'RTRIM'|'UPPER'|'COALESCE',
                ],
                'outputConstraints': [
                    {
                        'columnName': 'string',
                        'minimum': 123,
                        'type': 'COUNT_DISTINCT'
                    },
                ]
            }
        }
    }
)
Parameters
  • configuredTableIdentifier (string) --

    [REQUIRED]

    The identifier for the configured table to create the analysis rule for. Currently accepts the configured table ID.

  • analysisRuleType (string) --

    [REQUIRED]

    The type of analysis rule. Valid values are AGGREGATION and LIST.

  • analysisRulePolicy (dict) --

    [REQUIRED]

    The entire created configured table analysis rule object.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: v1.

    • v1 (dict) --

      Controls on the query specifications that can be run on a configured table.

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: list, aggregation.

      • list (dict) --

        Analysis rule type that enables only list queries on a configured table.

        • joinColumns (list) -- [REQUIRED]

          Columns that can be used to join a configured table with the table of the member who can query and another members' configured tables.

          • (string) --
        • listColumns (list) -- [REQUIRED]

          Columns that can be listed in the output.

          • (string) --
      • aggregation (dict) --

        Analysis rule type that enables only aggregation queries on a configured table.

        • aggregateColumns (list) -- [REQUIRED]

          The columns that query runners are allowed to use in aggregation queries.

          • (dict) --

            Column in configured table that can be used in aggregate function in query.

            • columnNames (list) -- [REQUIRED]

              Column names in configured table of aggregate columns.

              • (string) --
            • function (string) -- [REQUIRED]

              Aggregation function that can be applied to aggregate column in query.

        • joinColumns (list) -- [REQUIRED]

          Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.

          • (string) --
        • joinRequired (string) --

          Control that requires member who runs query to do a join with their configured table and/or other configured table in query

        • dimensionColumns (list) -- [REQUIRED]

          The columns that query runners are allowed to select, group by, or filter by.

          • (string) --
        • scalarFunctions (list) -- [REQUIRED]

          Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.

          • (string) --
        • outputConstraints (list) -- [REQUIRED]

          Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.

          • (dict) --

            Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column.

            • columnName (string) -- [REQUIRED]

              Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.

            • minimum (integer) -- [REQUIRED]

              The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.

            • type (string) -- [REQUIRED]

              The type of aggregation the constraint allows. The only valid value is currently COUNT_DISTINCT.

Return type

dict

Returns

Response Syntax

{
    'analysisRule': {
        'configuredTableId': 'string',
        'configuredTableArn': 'string',
        'policy': {
            'v1': {
                'list': {
                    'joinColumns': [
                        'string',
                    ],
                    'listColumns': [
                        'string',
                    ]
                },
                'aggregation': {
                    'aggregateColumns': [
                        {
                            'columnNames': [
                                'string',
                            ],
                            'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                        },
                    ],
                    'joinColumns': [
                        'string',
                    ],
                    'joinRequired': 'QUERY_RUNNER',
                    'dimensionColumns': [
                        'string',
                    ],
                    'scalarFunctions': [
                        'TRUNC'|'ABS'|'CEILING'|'FLOOR'|'LN'|'LOG'|'ROUND'|'SQRT'|'CAST'|'LOWER'|'RTRIM'|'UPPER'|'COALESCE',
                    ],
                    'outputConstraints': [
                        {
                            'columnName': 'string',
                            'minimum': 123,
                            'type': 'COUNT_DISTINCT'
                        },
                    ]
                }
            }
        },
        'type': 'AGGREGATION'|'LIST',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --

    • analysisRule (dict) --

      The entire created analysis rule.

      • configuredTableId (string) --

        The unique ID for the configured table.

      • configuredTableArn (string) --

        The unique ARN for the configured table.

      • policy (dict) --

        The policy that controls SQL query rules.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: v1. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        
        • v1 (dict) --

          Controls on the query specifications that can be run on a configured table.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: list, aggregation. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          
          • list (dict) --

            Analysis rule type that enables only list queries on a configured table.

            • joinColumns (list) --

              Columns that can be used to join a configured table with the table of the member who can query and another members' configured tables.

              • (string) --
            • listColumns (list) --

              Columns that can be listed in the output.

              • (string) --
          • aggregation (dict) --

            Analysis rule type that enables only aggregation queries on a configured table.

            • aggregateColumns (list) --

              The columns that query runners are allowed to use in aggregation queries.

              • (dict) --

                Column in configured table that can be used in aggregate function in query.

                • columnNames (list) --

                  Column names in configured table of aggregate columns.

                  • (string) --
                • function (string) --

                  Aggregation function that can be applied to aggregate column in query.

            • joinColumns (list) --

              Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.

              • (string) --
            • joinRequired (string) --

              Control that requires member who runs query to do a join with their configured table and/or other configured table in query

            • dimensionColumns (list) --

              The columns that query runners are allowed to select, group by, or filter by.

              • (string) --
            • scalarFunctions (list) --

              Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.

              • (string) --
            • outputConstraints (list) --

              Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.

              • (dict) --

                Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column.

                • columnName (string) --

                  Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.

                • minimum (integer) --

                  The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.

                • type (string) --

                  The type of aggregation the constraint allows. The only valid value is currently COUNT_DISTINCT.

      • type (string) --

        The type of configured table analysis rule. Valid values are AGGREGATION and LIST.

      • createTime (datetime) --

        The time the configured table analysis rule was created.

      • updateTime (datetime) --

        The time the configured table analysis rule was last updated.

Exceptions

  • CleanRoomsService.Client.exceptions.ConflictException
  • CleanRoomsService.Client.exceptions.ResourceNotFoundException
  • CleanRoomsService.Client.exceptions.InternalServerException
  • CleanRoomsService.Client.exceptions.ValidationException
  • CleanRoomsService.Client.exceptions.ThrottlingException
  • CleanRoomsService.Client.exceptions.AccessDeniedException