CleanRoomsService / Client / create_configured_table_analysis_rule

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'|'CUSTOM',
    analysisRulePolicy={
        'v1': {
            'list': {
                'joinColumns': [
                    'string',
                ],
                'allowedJoinOperators': [
                    'OR'|'AND',
                ],
                'listColumns': [
                    'string',
                ]
            },
            'aggregation': {
                'aggregateColumns': [
                    {
                        'columnNames': [
                            'string',
                        ],
                        'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                    },
                ],
                'joinColumns': [
                    'string',
                ],
                'joinRequired': 'QUERY_RUNNER',
                'allowedJoinOperators': [
                    'OR'|'AND',
                ],
                'dimensionColumns': [
                    'string',
                ],
                'scalarFunctions': [
                    'TRUNC'|'ABS'|'CEILING'|'FLOOR'|'LN'|'LOG'|'ROUND'|'SQRT'|'CAST'|'LOWER'|'RTRIM'|'UPPER'|'COALESCE',
                ],
                'outputConstraints': [
                    {
                        'columnName': 'string',
                        'minimum': 123,
                        'type': 'COUNT_DISTINCT'
                    },
                ]
            },
            'custom': {
                'allowedAnalyses': [
                    'string',
                ],
                'allowedAnalysisProviders': [
                    'string',
                ],
                'differentialPrivacy': {
                    'columns': [
                        {
                            'name': 'string'
                        },
                    ]
                }
            }
        }
    }
)
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.

  • 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, custom.

      • 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 other members’ configured tables.

          • (string) –

        • allowedJoinOperators (list) –

          The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is AND.

          • (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.

        • allowedJoinOperators (list) –

          Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND.

          • (string) –

        • 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.

      • custom (dict) –

        A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

        • allowedAnalyses (list) – [REQUIRED]

          The analysis templates that are allowed by the custom analysis rule.

          • (string) –

        • allowedAnalysisProviders (list) –

          The Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when allowedAnalyses is ANY_QUERY.

          • (string) –

        • differentialPrivacy (dict) –

          The differential privacy configuration.

          • columns (list) – [REQUIRED]

            The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

            • (dict) –

              Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

              • name (string) – [REQUIRED]

                The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

Return type:

dict

Returns:

Response Syntax

{
    'analysisRule': {
        'configuredTableId': 'string',
        'configuredTableArn': 'string',
        'policy': {
            'v1': {
                'list': {
                    'joinColumns': [
                        'string',
                    ],
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'listColumns': [
                        'string',
                    ]
                },
                'aggregation': {
                    'aggregateColumns': [
                        {
                            'columnNames': [
                                'string',
                            ],
                            'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                        },
                    ],
                    'joinColumns': [
                        'string',
                    ],
                    'joinRequired': 'QUERY_RUNNER',
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'dimensionColumns': [
                        'string',
                    ],
                    'scalarFunctions': [
                        'TRUNC'|'ABS'|'CEILING'|'FLOOR'|'LN'|'LOG'|'ROUND'|'SQRT'|'CAST'|'LOWER'|'RTRIM'|'UPPER'|'COALESCE',
                    ],
                    'outputConstraints': [
                        {
                            'columnName': 'string',
                            'minimum': 123,
                            'type': 'COUNT_DISTINCT'
                        },
                    ]
                },
                'custom': {
                    'allowedAnalyses': [
                        'string',
                    ],
                    'allowedAnalysisProviders': [
                        'string',
                    ],
                    'differentialPrivacy': {
                        'columns': [
                            {
                                'name': 'string'
                            },
                        ]
                    }
                }
            }
        },
        'type': 'AGGREGATION'|'LIST'|'CUSTOM',
        '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, custom. 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 other members’ configured tables.

              • (string) –

            • allowedJoinOperators (list) –

              The logical operators (if any) that are to be used in an INNER JOIN match condition. Default is AND.

              • (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.

            • allowedJoinOperators (list) –

              Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND.

              • (string) –

            • 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.

          • custom (dict) –

            A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

            • allowedAnalyses (list) –

              The analysis templates that are allowed by the custom analysis rule.

              • (string) –

            • allowedAnalysisProviders (list) –

              The Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when allowedAnalyses is ANY_QUERY.

              • (string) –

            • differentialPrivacy (dict) –

              The differential privacy configuration.

              • columns (list) –

                The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

                • (dict) –

                  Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

                  • name (string) –

                    The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

      • type (string) –

        The type of configured table analysis rule.

      • createTime (datetime) –

        The time the configured table analysis rule was created.

      • updateTime (datetime) –

        The time the configured table analysis rule was last updated.

Exceptions