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
isANY_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 setSDK_UNKNOWN_MEMBER
as the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_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 setSDK_UNKNOWN_MEMBER
as the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_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
isANY_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
CleanRoomsService.Client.exceptions.ConflictException
CleanRoomsService.Client.exceptions.ResourceNotFoundException
CleanRoomsService.Client.exceptions.InternalServerException
CleanRoomsService.Client.exceptions.ValidationException
CleanRoomsService.Client.exceptions.ThrottlingException
CleanRoomsService.Client.exceptions.AccessDeniedException