CleanRoomsService / Client / batch_get_schema_analysis_rule

batch_get_schema_analysis_rule#

CleanRoomsService.Client.batch_get_schema_analysis_rule(**kwargs)#

Retrieves multiple analysis rule schemas.

See also: AWS API Documentation

Request Syntax

response = client.batch_get_schema_analysis_rule(
    collaborationIdentifier='string',
    schemaAnalysisRuleRequests=[
        {
            'name': 'string',
            'type': 'AGGREGATION'|'LIST'|'CUSTOM'
        },
    ]
)
Parameters:
  • collaborationIdentifier (string) –

    [REQUIRED]

    The unique identifier of the collaboration that contains the schema analysis rule.

  • schemaAnalysisRuleRequests (list) –

    [REQUIRED]

    The information that’s necessary to retrieve a schema analysis rule.

    • (dict) –

      Defines the information that’s necessary to retrieve an analysis rule schema. Schema analysis rules are uniquely identified by a combination of the schema name and the analysis rule type for a given collaboration.

      • name (string) – [REQUIRED]

        The name of the analysis rule schema that you are requesting.

      • type (string) – [REQUIRED]

        The type of analysis rule schema that you are requesting.

Return type:

dict

Returns:

Response Syntax

{
    'analysisRules': [
        {
            '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'
                                },
                            ]
                        }
                    }
                }
            }
        },
    ],
    'errors': [
        {
            'name': 'string',
            'type': 'AGGREGATION'|'LIST'|'CUSTOM',
            'code': 'string',
            'message': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • analysisRules (list) –

      The retrieved list of analysis rules.

      • (dict) –

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

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

    • errors (list) –

      Error reasons for schemas that could not be retrieved. One error is returned for every schema that could not be retrieved.

      • (dict) –

        An error that describes why a schema could not be fetched.

        • name (string) –

          An error name for the error.

        • type (string) –

          The analysis rule type.

        • code (string) –

          An error code for the error.

        • message (string) –

          A description of why the call failed.

Exceptions