2024/04/04 - AWS Clean Rooms Service - 1 new 6 updated api methods
Changes Feature: New schemaStatusDetails field to the existing Schema object that displays a status on Schema API responses to show whether a schema is queryable or not. New BatchGetSchemaAnalysisRule API to retrieve multiple schemaAnalysisRules using a single API call.
Retrieves multiple analysis rule schemas.
See also: AWS API Documentation
Request Syntax
client.batch_get_schema_analysis_rule( collaborationIdentifier='string', schemaAnalysisRuleRequests=[ { 'name': 'string', 'type': 'AGGREGATION'|'LIST'|'CUSTOM' }, ] )
string
[REQUIRED]
The unique identifier of the collaboration that contains the schema analysis rule.
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.
dict
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.
v1 (dict) --
Controls on the query specifications that can be run on configured table.
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.
{'schemas': {'schemaStatusDetails': [{'analysisRuleType': 'AGGREGATION | LIST ' '| CUSTOM', 'configurations': ['DIFFERENTIAL_PRIVACY'], 'reasons': [{'code': 'ANALYSIS_RULE_MISSING ' '| ' 'ANALYSIS_TEMPLATES_NOT_CONFIGURED ' '| ' 'ANALYSIS_PROVIDERS_NOT_CONFIGURED ' '| ' 'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED', 'message': 'string'}], 'status': 'READY | NOT_READY'}]}}
Retrieves multiple schemas by their identifiers.
See also: AWS API Documentation
Request Syntax
client.batch_get_schema( collaborationIdentifier='string', names=[ 'string', ] )
string
[REQUIRED]
A unique identifier for the collaboration that the schemas belong to. Currently accepts collaboration ID.
list
[REQUIRED]
The names for the schema objects to retrieve.
(string) --
dict
Response Syntax
{ 'schemas': [ { 'columns': [ { 'name': 'string', 'type': 'string' }, ], 'partitionKeys': [ { 'name': 'string', 'type': 'string' }, ], 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY', 'creatorAccountId': 'string', 'name': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'type': 'TABLE', 'schemaStatusDetails': [ { 'status': 'READY'|'NOT_READY', 'reasons': [ { 'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED', 'message': 'string' }, ], 'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM', 'configurations': [ 'DIFFERENTIAL_PRIVACY', ] }, ] }, ], 'errors': [ { 'name': 'string', 'code': 'string', 'message': 'string' }, ] }
Response Structure
(dict) --
schemas (list) --
The retrieved list of schemas.
(dict) --
A schema is a relation within a collaboration.
columns (list) --
The columns for the relation this schema represents.
(dict) --
A column within a schema relation, derived from the underlying Glue table.
name (string) --
The name of the column.
type (string) --
The type of the column.
partitionKeys (list) --
The partition keys for the dataset underlying this schema.
(dict) --
A column within a schema relation, derived from the underlying Glue table.
name (string) --
The name of the column.
type (string) --
The type of the column.
analysisRuleTypes (list) --
The analysis rule types associated with the schema. Currently, only one entry is present.
(string) --
analysisMethod (string) --
The analysis method for the schema. The only valid value is currently DIRECT_QUERY.
creatorAccountId (string) --
The unique account ID for the Amazon Web Services account that owns the schema.
name (string) --
A name for the schema. The schema relation is referred to by this name when queried by a protected query.
collaborationId (string) --
The unique ID for the collaboration that the schema belongs to.
collaborationArn (string) --
The unique ARN for the collaboration that the schema belongs to.
description (string) --
A description for the schema.
createTime (datetime) --
The time the schema was created.
updateTime (datetime) --
The time the schema was last updated.
type (string) --
The type of schema. The only valid value is currently TABLE.
schemaStatusDetails (list) --
Details about the status of the schema. Currently, only one entry is present.
(dict) --
Information about the schema status.
A status of READY means that based on the schema analysis rule, queries of the given analysis rule type are properly configured to run queries on this schema.
status (string) --
The status of the schema.
reasons (list) --
The reasons why the schema status is set to its current state.
(dict) --
A reason why the schema status is set to its current value.
code (string) --
The schema status reason code.
message (string) --
An explanation of the schema status reason code.
analysisRuleType (string) --
The analysis rule type for which the schema status has been evaluated.
configurations (list) --
The configuration details of the schema analysis rule for the given type.
(string) --
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 describing why a schema could not be fetched.
name (string) --
An error name for the error.
code (string) --
An error code for the error.
message (string) --
An error message for the error.
{'analysisRulePolicy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}Response
{'analysisRule': {'policy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}}
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
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': [ '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' }, ] } } } } )
string
[REQUIRED]
The identifier for the configured table to create the analysis rule for. Currently accepts the configured table ID.
string
[REQUIRED]
The type of analysis rule.
dict
[REQUIRED]
The entire created configured table analysis rule object.
v1 (dict) --
Controls on the query specifications that can be run on a configured table.
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 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) -- [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.
dict
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': [ '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' }, ] } } } }, '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.
v1 (dict) --
Controls on the query specifications that can be run on a configured table.
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 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.
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.
{'analysisRule': {'policy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}}
Retrieves a configured table analysis rule.
See also: AWS API Documentation
Request Syntax
client.get_configured_table_analysis_rule( configuredTableIdentifier='string', analysisRuleType='AGGREGATION'|'LIST'|'CUSTOM' )
string
[REQUIRED]
The unique identifier for the configured table to retrieve. Currently accepts the configured table ID.
string
[REQUIRED]
The analysis rule to be retrieved. Configured table analysis rules are uniquely identified by their configured table identifier and analysis rule type.
dict
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': [ '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' }, ] } } } }, 'type': 'AGGREGATION'|'LIST'|'CUSTOM', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
analysisRule (dict) --
The entire analysis rule output.
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.
v1 (dict) --
Controls on the query specifications that can be run on a configured table.
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 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.
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.
{'schema': {'schemaStatusDetails': [{'analysisRuleType': 'AGGREGATION | LIST | ' 'CUSTOM', 'configurations': ['DIFFERENTIAL_PRIVACY'], 'reasons': [{'code': 'ANALYSIS_RULE_MISSING ' '| ' 'ANALYSIS_TEMPLATES_NOT_CONFIGURED ' '| ' 'ANALYSIS_PROVIDERS_NOT_CONFIGURED ' '| ' 'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED', 'message': 'string'}], 'status': 'READY | NOT_READY'}]}}
Retrieves the schema for a relation within a collaboration.
See also: AWS API Documentation
Request Syntax
client.get_schema( collaborationIdentifier='string', name='string' )
string
[REQUIRED]
A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.
string
[REQUIRED]
The name of the relation to retrieve the schema for.
dict
Response Syntax
{ 'schema': { 'columns': [ { 'name': 'string', 'type': 'string' }, ], 'partitionKeys': [ { 'name': 'string', 'type': 'string' }, ], 'analysisRuleTypes': [ 'AGGREGATION'|'LIST'|'CUSTOM', ], 'analysisMethod': 'DIRECT_QUERY', 'creatorAccountId': 'string', 'name': 'string', 'collaborationId': 'string', 'collaborationArn': 'string', 'description': 'string', 'createTime': datetime(2015, 1, 1), 'updateTime': datetime(2015, 1, 1), 'type': 'TABLE', 'schemaStatusDetails': [ { 'status': 'READY'|'NOT_READY', 'reasons': [ { 'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED', 'message': 'string' }, ], 'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM', 'configurations': [ 'DIFFERENTIAL_PRIVACY', ] }, ] } }
Response Structure
(dict) --
schema (dict) --
The entire schema object.
columns (list) --
The columns for the relation this schema represents.
(dict) --
A column within a schema relation, derived from the underlying Glue table.
name (string) --
The name of the column.
type (string) --
The type of the column.
partitionKeys (list) --
The partition keys for the dataset underlying this schema.
(dict) --
A column within a schema relation, derived from the underlying Glue table.
name (string) --
The name of the column.
type (string) --
The type of the column.
analysisRuleTypes (list) --
The analysis rule types associated with the schema. Currently, only one entry is present.
(string) --
analysisMethod (string) --
The analysis method for the schema. The only valid value is currently DIRECT_QUERY.
creatorAccountId (string) --
The unique account ID for the Amazon Web Services account that owns the schema.
name (string) --
A name for the schema. The schema relation is referred to by this name when queried by a protected query.
collaborationId (string) --
The unique ID for the collaboration that the schema belongs to.
collaborationArn (string) --
The unique ARN for the collaboration that the schema belongs to.
description (string) --
A description for the schema.
createTime (datetime) --
The time the schema was created.
updateTime (datetime) --
The time the schema was last updated.
type (string) --
The type of schema. The only valid value is currently TABLE.
schemaStatusDetails (list) --
Details about the status of the schema. Currently, only one entry is present.
(dict) --
Information about the schema status.
A status of READY means that based on the schema analysis rule, queries of the given analysis rule type are properly configured to run queries on this schema.
status (string) --
The status of the schema.
reasons (list) --
The reasons why the schema status is set to its current state.
(dict) --
A reason why the schema status is set to its current value.
code (string) --
The schema status reason code.
message (string) --
An explanation of the schema status reason code.
analysisRuleType (string) --
The analysis rule type for which the schema status has been evaluated.
configurations (list) --
The configuration details of the schema analysis rule for the given type.
(string) --
{'analysisRule': {'policy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}}
Retrieves a schema analysis rule.
See also: AWS API Documentation
Request Syntax
client.get_schema_analysis_rule( collaborationIdentifier='string', name='string', type='AGGREGATION'|'LIST'|'CUSTOM' )
string
[REQUIRED]
A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.
string
[REQUIRED]
The name of the schema to retrieve the analysis rule for.
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.
dict
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.
v1 (dict) --
Controls on the query specifications that can be run on configured table.
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.
{'analysisRulePolicy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}Response
{'analysisRule': {'policy': {'v1': {'aggregation': {'scalarFunctions': {'CONVERT', 'CURRENT_DATE', 'DATEADD', 'EXTRACT', 'GETDATE', 'SUBSTRING', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP', 'TRIM'}}}}}}
Updates a configured table analysis rule.
See also: AWS API Documentation
Request Syntax
client.update_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': [ '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' }, ] } } } } )
string
[REQUIRED]
The unique identifier for the configured table that the analysis rule applies to. Currently accepts the configured table ID.
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.
dict
[REQUIRED]
The new analysis rule policy for the configured table analysis rule.
v1 (dict) --
Controls on the query specifications that can be run on a configured table.
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 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) -- [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.
dict
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': [ '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' }, ] } } } }, '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.
v1 (dict) --
Controls on the query specifications that can be run on a configured table.
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 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.
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.