CleanRoomsService / Client / get_schema_analysis_rule

get_schema_analysis_rule#

CleanRoomsService.Client.get_schema_analysis_rule(**kwargs)#

Retrieves a schema analysis rule.

See also: AWS API Documentation

Request Syntax

response = client.get_schema_analysis_rule(
    collaborationIdentifier='string',
    name='string',
    type='AGGREGATION'|'LIST'|'CUSTOM'
)
Parameters:
  • collaborationIdentifier (string) –

    [REQUIRED]

    A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

  • name (string) –

    [REQUIRED]

    The name of the schema to retrieve the analysis rule for.

  • type (string) –

    [REQUIRED]

    The type of the schema analysis rule to retrieve. Schema analysis rules are uniquely identified by a combination of the collaboration, the schema name, and their type.

Return type:

dict

Returns:

Response Syntax

{
    'analysisRule': {
        'collaborationId': 'string',
        'type': 'AGGREGATION'|'LIST'|'CUSTOM',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        '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': [
                        'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER',
                    ],
                    'outputConstraints': [
                        {
                            'columnName': 'string',
                            'minimum': 123,
                            'type': 'COUNT_DISTINCT'
                        },
                    ]
                },
                'custom': {
                    'allowedAnalyses': [
                        'string',
                    ],
                    'allowedAnalysisProviders': [
                        'string',
                    ],
                    'differentialPrivacy': {
                        'columns': [
                            {
                                'name': 'string'
                            },
                        ]
                    }
                }
            }
        }
    }
}

Response Structure

  • (dict) –

    • analysisRule (dict) –

      A specification about how data from the configured table can be used.

      • collaborationId (string) –

        The unique ID for the associated collaboration.

      • type (string) –

        The type of analysis rule.

      • name (string) –

        The name for the analysis rule.

      • createTime (datetime) –

        The time the analysis rule was created.

      • updateTime (datetime) –

        The time the analysis rule was last updated.

      • policy (dict) –

        A policy that describes the associated data usage limitations.

        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 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) –

            Analysis rule type that enables custom SQL queries on a configured table.

            • allowedAnalyses (list) –

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

              • (string) –

            • allowedAnalysisProviders (list) –

              The IDs of 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.

Exceptions

  • CleanRoomsService.Client.exceptions.ResourceNotFoundException

  • CleanRoomsService.Client.exceptions.InternalServerException

  • CleanRoomsService.Client.exceptions.ValidationException

  • CleanRoomsService.Client.exceptions.ThrottlingException

  • CleanRoomsService.Client.exceptions.AccessDeniedException