CleanRoomsService / Client / update_configured_table_analysis_rule

update_configured_table_analysis_rule#

CleanRoomsService.Client.update_configured_table_analysis_rule(**kwargs)#

Updates a configured table analysis rule.

See also: AWS API Documentation

Request Syntax

response = client.update_configured_table_analysis_rule(
    configuredTableIdentifier='string',
    analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM',
    analysisRulePolicy={
        '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'
                        },
                    ]
                }
            }
        }
    }
)
Parameters:
  • configuredTableIdentifier (string) –

    [REQUIRED]

    The unique identifier for the configured table that the analysis rule applies to. Currently accepts the configured table ID.

  • analysisRuleType (string) –

    [REQUIRED]

    The analysis rule type to be updated. Configured table analysis rules are uniquely identified by their configured table identifier and analysis rule type.

  • analysisRulePolicy (dict) –

    [REQUIRED]

    The new analysis rule policy for the configured table analysis rule.

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

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

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

        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 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) – [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',
                    ],
                    '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'
                            },
                        ]
                    }
                }
            }
        },
        'type': 'AGGREGATION'|'LIST'|'CUSTOM',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) –

    • analysisRule (dict) –

      The entire updated 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) –

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

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

      • 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