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'|'ID_MAPPING_TABLE'
)
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'|'ID_MAPPING_TABLE',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'policy': {
            'v1': {
                'list': {
                    'joinColumns': [
                        'string',
                    ],
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'listColumns': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                },
                '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'
                        },
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                },
                'custom': {
                    'allowedAnalyses': [
                        'string',
                    ],
                    'allowedAnalysisProviders': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                    'disallowedOutputColumns': [
                        'string',
                    ],
                    'differentialPrivacy': {
                        'columns': [
                            {
                                'name': 'string'
                            },
                        ]
                    }
                },
                'idMappingTable': {
                    'joinColumns': [
                        'string',
                    ],
                    'queryConstraints': [
                        {
                            'requireOverlap': {
                                'columns': [
                                    'string',
                                ]
                            }
                        },
                    ],
                    'dimensionColumns': [
                        '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, idMappingTable. 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) –

            • additionalAnalyses (string) –

              An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query.

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

            • additionalAnalyses (string) –

              An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query.

              The additionalAnalyses parameter is currently supported for the list analysis rule ( AnalysisRuleList) and the custom analysis rule ( AnalysisRuleCustom).

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

            • additionalAnalyses (string) –

              An indicator as to whether additional analyses (such as Clean Rooms ML) can be applied to the output of the direct query.

            • disallowedOutputColumns (list) –

              A list of columns that aren’t allowed to be shown in the query output.

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

          • idMappingTable (dict) –

            The ID mapping table.

            • joinColumns (list) –

              The columns that query runners are allowed to use in an INNER JOIN statement.

              • (string) –

            • queryConstraints (list) –

              The query constraints of the analysis rule ID mapping table.

              • (dict) –

                Provides any necessary query constraint information.

                Note

                This is a Tagged Union structure. Only one of the following top level keys will be set: requireOverlap. 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'}
                
                • requireOverlap (dict) –

                  An array of column names that specifies which columns are required in the JOIN statement.

                  • columns (list) –

                    The columns that are required to overlap.

                    • (string) –

            • dimensionColumns (list) –

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

              • (string) –

Exceptions