AWS Clean Rooms Service

2025/03/18 - AWS Clean Rooms Service - 4 new23 updated api methods

Changes  This release adds support for PySpark jobs. Customers can now analyze data by running jobs using approved PySpark analysis templates.

UpdateProtectedJob (new) Link ¶

Updates the processing of a currently running job.

See also: AWS API Documentation

Request Syntax

client.update_protected_job(
    membershipIdentifier='string',
    protectedJobIdentifier='string',
    targetStatus='CANCELLED'
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a member of a protected job instance.

type protectedJobIdentifier:

string

param protectedJobIdentifier:

[REQUIRED]

The identifier of the protected job to update.

type targetStatus:

string

param targetStatus:

[REQUIRED]

The target status of a protected job. Used to update the execution status of a currently running job.

rtype:

dict

returns:

Response Syntax

{
    'protectedJob': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'jobParameters': {
            'analysisTemplateArn': 'string'
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • protectedJob (dict) --

      The protected job output.

      • id (string) --

        The identifier for a protected job instance.

      • membershipId (string) --

        he identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The creation time of the protected job.

      • jobParameters (dict) --

        The job parameters for the protected job.

        • analysisTemplateArn (string) --

          The ARN of the analysis template.

      • status (string) --

        The status of the protected job.

      • resultConfiguration (dict) --

        Contains any details needed to write the job results.

        • outputConfiguration (dict) --

          The output configuration.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

          • member (dict) --

            The member output configuration for a protected job.

            • accountId (string) --

              The account ID.

      • statistics (dict) --

        The statistics of the protected job.

        • totalDurationInMillis (integer) --

          The duration of the protected job, from creation until job completion, in milliseconds.

        • billedResourceUtilization (dict) --

          The billed resource utilization for the protected job.

          • units (float) --

            The number of Clean Rooms Processing Unit (CRPU) hours that have been billed.

      • result (dict) --

        The result of the protected job.

        • output (dict) --

          The output of the protected job.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • location (string) --

              The S3 location for the protected job output.

          • memberList (list) --

            The list of member Amazon Web Services account(s) that received the results of the job.

            • (dict) --

              Details about the member who received the job result.

              • accountId (string) --

                The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses.

      • error (dict) --

        The error from the protected job.

        • message (string) --

          The message for the protected job error.

        • code (string) --

          The error code for the protected job.

StartProtectedJob (new) Link ¶

Creates a protected job that is started by Clean Rooms.

See also: AWS API Documentation

Request Syntax

client.start_protected_job(
    type='PYSPARK',
    membershipIdentifier='string',
    jobParameters={
        'analysisTemplateArn': 'string'
    },
    resultConfiguration={
        'outputConfiguration': {
            'member': {
                'accountId': 'string'
            }
        }
    }
)
type type:

string

param type:

[REQUIRED]

The type of protected job to start.

type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

A unique identifier for the membership to run this job against. Currently accepts a membership ID.

type jobParameters:

dict

param jobParameters:

[REQUIRED]

The job parameters.

  • analysisTemplateArn (string) --

    The ARN of the analysis template.

type resultConfiguration:

dict

param resultConfiguration:

The details needed to write the job results.

  • outputConfiguration (dict) -- [REQUIRED]

    The output configuration for a protected job result.

    • member (dict) --

      The member of the protected job output configuration input.

      • accountId (string) -- [REQUIRED]

        The account ID.

rtype:

dict

returns:

Response Syntax

{
    'protectedJob': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'jobParameters': {
            'analysisTemplateArn': 'string'
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • protectedJob (dict) --

      The protected job.

      • id (string) --

        The identifier for a protected job instance.

      • membershipId (string) --

        he identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The creation time of the protected job.

      • jobParameters (dict) --

        The job parameters for the protected job.

        • analysisTemplateArn (string) --

          The ARN of the analysis template.

      • status (string) --

        The status of the protected job.

      • resultConfiguration (dict) --

        Contains any details needed to write the job results.

        • outputConfiguration (dict) --

          The output configuration.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

          • member (dict) --

            The member output configuration for a protected job.

            • accountId (string) --

              The account ID.

      • statistics (dict) --

        The statistics of the protected job.

        • totalDurationInMillis (integer) --

          The duration of the protected job, from creation until job completion, in milliseconds.

        • billedResourceUtilization (dict) --

          The billed resource utilization for the protected job.

          • units (float) --

            The number of Clean Rooms Processing Unit (CRPU) hours that have been billed.

      • result (dict) --

        The result of the protected job.

        • output (dict) --

          The output of the protected job.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • location (string) --

              The S3 location for the protected job output.

          • memberList (list) --

            The list of member Amazon Web Services account(s) that received the results of the job.

            • (dict) --

              Details about the member who received the job result.

              • accountId (string) --

                The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses.

      • error (dict) --

        The error from the protected job.

        • message (string) --

          The message for the protected job error.

        • code (string) --

          The error code for the protected job.

ListProtectedJobs (new) Link ¶

Lists protected jobs, sorted by most recent job.

See also: AWS API Documentation

Request Syntax

client.list_protected_jobs(
    membershipIdentifier='string',
    status='SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
    nextToken='string',
    maxResults=123
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for the membership in the collaboration.

type status:

string

param status:

A filter on the status of the protected job.

type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'protectedJobs': [
        {
            'id': 'string',
            'membershipId': 'string',
            'membershipArn': 'string',
            'createTime': datetime(2015, 1, 1),
            'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
            'receiverConfigurations': [
                {
                    'analysisType': 'DIRECT_ANALYSIS',
                    'configurationDetails': {
                        'directAnalysisConfigurationDetails': {
                            'receiverAccountIds': [
                                'string',
                            ]
                        }
                    }
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

    • protectedJobs (list) --

      A list of protected job summaries.

      • (dict) --

        The protected job summary for the objects listed by the request.

        • id (string) --

          The ID of the protected job.

        • membershipId (string) --

          The unique ID for the membership that initiated the protected job.

        • membershipArn (string) --

          The unique ARN for the membership that initiated the protected job.

        • createTime (datetime) --

          The time the protected job was created.

        • status (string) --

          The status of the protected job.

        • receiverConfigurations (list) --

          The receiver configurations for the protected job.

          • (dict) --

            The protected job receiver configuration.

            • analysisType (string) --

              The analysis type for the protected job receiver configuration.

            • configurationDetails (dict) --

              The configuration details for the protected job receiver.

              • directAnalysisConfigurationDetails (dict) --

                The details needed to configure the direct analysis.

                • receiverAccountIds (list) --

                  The receiver account IDs.

                  • (string) --

GetProtectedJob (new) Link ¶

Returns job processing metadata.

See also: AWS API Documentation

Request Syntax

client.get_protected_job(
    membershipIdentifier='string',
    protectedJobIdentifier='string'
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a membership in a protected job instance.

type protectedJobIdentifier:

string

param protectedJobIdentifier:

[REQUIRED]

The identifier for the protected job instance.

rtype:

dict

returns:

Response Syntax

{
    'protectedJob': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'jobParameters': {
            'analysisTemplateArn': 'string'
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • protectedJob (dict) --

      The protected job metadata.

      • id (string) --

        The identifier for a protected job instance.

      • membershipId (string) --

        he identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The creation time of the protected job.

      • jobParameters (dict) --

        The job parameters for the protected job.

        • analysisTemplateArn (string) --

          The ARN of the analysis template.

      • status (string) --

        The status of the protected job.

      • resultConfiguration (dict) --

        Contains any details needed to write the job results.

        • outputConfiguration (dict) --

          The output configuration.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

          • member (dict) --

            The member output configuration for a protected job.

            • accountId (string) --

              The account ID.

      • statistics (dict) --

        The statistics of the protected job.

        • totalDurationInMillis (integer) --

          The duration of the protected job, from creation until job completion, in milliseconds.

        • billedResourceUtilization (dict) --

          The billed resource utilization for the protected job.

          • units (float) --

            The number of Clean Rooms Processing Unit (CRPU) hours that have been billed.

      • result (dict) --

        The result of the protected job.

        • output (dict) --

          The output of the protected job.

          • s3 (dict) --

            If present, the output for a protected job with an S3 output type.

            • location (string) --

              The S3 location for the protected job output.

          • memberList (list) --

            The list of member Amazon Web Services account(s) that received the results of the job.

            • (dict) --

              Details about the member who received the job result.

              • accountId (string) --

                The Amazon Web Services account ID of the member in the collaboration who can receive results from analyses.

      • error (dict) --

        The error from the protected job.

        • message (string) --

          The message for the protected job error.

        • code (string) --

          The error code for the protected job.

BatchGetCollaborationAnalysisTemplate (updated) Link ¶
Changes (response)
{'collaborationAnalysisTemplates': {'format': {'PYSPARK_1_0'},
                                    'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                                                   'key': 'string'}}],
                                                             'entryPoint': {'location': {'bucket': 'string',
                                                                                         'key': 'string'}},
                                                             'roleArn': 'string'}},
                                    'sourceMetadata': {'artifacts': {'additionalArtifactHashes': [{'sha256': 'string'}],
                                                                     'entryPointHash': {'sha256': 'string'}}}}}

Retrieves multiple analysis templates within a collaboration by their Amazon Resource Names (ARNs).

See also: AWS API Documentation

Request Syntax

client.batch_get_collaboration_analysis_template(
    collaborationIdentifier='string',
    analysisTemplateArns=[
        'string',
    ]
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

type analysisTemplateArns:

list

param analysisTemplateArns:

[REQUIRED]

The Amazon Resource Name (ARN) associated with the analysis template within a collaboration.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'collaborationAnalysisTemplates': [
        {
            'id': 'string',
            'arn': 'string',
            'collaborationId': 'string',
            'collaborationArn': 'string',
            'description': 'string',
            'creatorAccountId': 'string',
            'name': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'schema': {
                'referencedTables': [
                    'string',
                ]
            },
            'format': 'SQL'|'PYSPARK_1_0',
            'source': {
                'text': 'string',
                'artifacts': {
                    'entryPoint': {
                        'location': {
                            'bucket': 'string',
                            'key': 'string'
                        }
                    },
                    'additionalArtifacts': [
                        {
                            'location': {
                                'bucket': 'string',
                                'key': 'string'
                            }
                        },
                    ],
                    'roleArn': 'string'
                }
            },
            'sourceMetadata': {
                'artifacts': {
                    'entryPointHash': {
                        'sha256': 'string'
                    },
                    'additionalArtifactHashes': [
                        {
                            'sha256': 'string'
                        },
                    ]
                }
            },
            'analysisParameters': [
                {
                    'name': 'string',
                    'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
                    'defaultValue': 'string'
                },
            ],
            'validations': [
                {
                    'type': 'DIFFERENTIAL_PRIVACY',
                    'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE',
                    'reasons': [
                        {
                            'message': 'string'
                        },
                    ]
                },
            ]
        },
    ],
    'errors': [
        {
            'arn': 'string',
            'code': 'string',
            'message': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • collaborationAnalysisTemplates (list) --

      The retrieved list of analysis templates within a collaboration.

      • (dict) --

        The analysis template within a collaboration.

        • id (string) --

          The identifier of the analysis template.

        • arn (string) --

          The Amazon Resource Name (ARN) of the analysis template.

        • collaborationId (string) --

          A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

        • collaborationArn (string) --

          The unique ARN for the analysis template’s associated collaboration.

        • description (string) --

          The description of the analysis template.

        • creatorAccountId (string) --

          The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

        • name (string) --

          The name of the analysis template.

        • createTime (datetime) --

          The time that the analysis template within a collaboration was created.

        • updateTime (datetime) --

          The time that the analysis template in the collaboration was last updated.

        • schema (dict) --

          The entire schema object.

          • referencedTables (list) --

            The tables referenced in the analysis schema.

            • (string) --

        • format (string) --

          The format of the analysis template in the collaboration.

        • source (dict) --

          The source of the analysis template within a collaboration.

          • text (string) --

            The query text.

          • artifacts (dict) --

            The artifacts of the analysis source.

            • entryPoint (dict) --

              The entry point for the analysis template artifacts.

              • location (dict) --

                The artifact location.

                • bucket (string) --

                  The bucket name.

                • key (string) --

                  The object key.

            • additionalArtifacts (list) --

              Additional artifacts for the analysis template.

              • (dict) --

                The analysis template artifact.

                • location (dict) --

                  The artifact location.

                  • bucket (string) --

                    The bucket name.

                  • key (string) --

                    The object key.

            • roleArn (string) --

              The role ARN for the analysis template artifacts.

        • sourceMetadata (dict) --

          The source metadata for the collaboration analysis template.

          • artifacts (dict) --

            The artifacts of the analysis source metadata.

            • entryPointHash (dict) --

              The hash of the entry point for the analysis template artifact metadata.

              • sha256 (string) --

                The SHA-256 hash value.

            • additionalArtifactHashes (list) --

              Additional artifact hashes for the analysis template.

              • (dict) --

                Hash

                • sha256 (string) --

                  The SHA-256 hash value.

        • analysisParameters (list) --

          The analysis parameters that have been specified in the analysis template.

          • (dict) --

            Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

            • name (string) --

              The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

            • type (string) --

              The type of parameter.

            • defaultValue (string) --

              Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

        • validations (list) --

          The validations that were performed.

          • (dict) --

            The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration.

            For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy.

            • type (string) --

              The type of validation that was performed.

            • status (string) --

              The status of the validation.

            • reasons (list) --

              The reasons for the validation results.

              • (dict) --

                The reasons for the validation results.

                • message (string) --

                  The validation message.

    • errors (list) --

      Error reasons for collaboration analysis templates that could not be retrieved. One error is returned for every collaboration analysis template that could not be retrieved.

      • (dict) --

        Details of errors thrown by the call to retrieve multiple analysis templates within a collaboration by their identifiers.

        • arn (string) --

          The Amazon Resource Name (ARN) of the analysis template.

        • code (string) --

          An error code for the error.

        • message (string) --

          A description of why the call failed.

BatchGetSchema (updated) Link ¶
Changes (response)
{'schemas': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
             'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Retrieves multiple schemas by their identifiers.

See also: AWS API Documentation

Request Syntax

client.batch_get_schema(
    collaborationIdentifier='string',
    names=[
        'string',
    ]
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the schemas belong to. Currently accepts collaboration ID.

type names:

list

param names:

[REQUIRED]

The names for the schema objects to retrieve.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'schemas': [
        {
            'columns': [
                {
                    'name': 'string',
                    'type': 'string'
                },
            ],
            'partitionKeys': [
                {
                    'name': 'string',
                    'type': 'string'
                },
            ],
            'analysisRuleTypes': [
                'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
            ],
            'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
            'selectedAnalysisMethods': [
                'DIRECT_QUERY'|'DIRECT_JOB',
            ],
            'creatorAccountId': 'string',
            'name': 'string',
            'collaborationId': 'string',
            'collaborationArn': 'string',
            'description': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'type': 'TABLE'|'ID_MAPPING_TABLE',
            'schemaStatusDetails': [
                {
                    'status': 'READY'|'NOT_READY',
                    'reasons': [
                        {
                            'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED'|'ID_MAPPING_TABLE_NOT_POPULATED'|'COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_CONFIGURED'|'RESULT_RECEIVERS_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_ALLOWED'|'RESULT_RECEIVERS_NOT_ALLOWED'|'ANALYSIS_RULE_TYPES_NOT_COMPATIBLE',
                            'message': 'string'
                        },
                    ],
                    'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
                    'configurations': [
                        'DIFFERENTIAL_PRIVACY',
                    ],
                    'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS'
                },
            ],
            'schemaTypeProperties': {
                'idMappingTable': {
                    'idMappingTableInputSource': [
                        {
                            'idNamespaceAssociationId': 'string',
                            'type': 'SOURCE'|'TARGET'
                        },
                    ]
                }
            }
        },
    ],
    '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 that this schema represents.

          • (dict) --

            A column within a schema relation, derived from the underlying 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 table.

            • name (string) --

              The name of the column.

            • type (string) --

              The type of the column.

        • analysisRuleTypes (list) --

          The analysis rule types that are associated with the schema. Currently, only one entry is present.

          • (string) --

        • analysisMethod (string) --

          The analysis method for the schema.

          DIRECT_QUERY allows SQL queries to be run directly on this table.

          DIRECT_JOB allows PySpark jobs to be run directly on this table.

          MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

        • selectedAnalysisMethods (list) --

          The selected analysis methods for the schema.

          • (string) --

        • 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 Amazon Resource Name (ARN) for the collaboration that the schema belongs to.

        • description (string) --

          A description for the schema.

        • createTime (datetime) --

          The time at which the schema was created.

        • updateTime (datetime) --

          The most recent time at which the schema was updated.

        • type (string) --

          The type of schema.

        • 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, indicating if it is ready to query.

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

            • analysisType (string) --

              The type of analysis that can be performed on the schema.

              A schema can have an analysisType of DIRECT_ANALYSIS, ADDITIONAL_ANALYSIS_FOR_AUDIENCE_GENERATION, or both.

        • schemaTypeProperties (dict) --

          The schema type properties.

          • idMappingTable (dict) --

            The ID mapping table for the schema type properties.

            • idMappingTableInputSource (list) --

              Defines which ID namespace associations are used to create the ID mapping table.

              • (dict) --

                The input source of the ID mapping table.

                • idNamespaceAssociationId (string) --

                  The unique identifier of the ID namespace association.

                • type (string) --

                  The type of the input source of the ID mapping table.

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

BatchGetSchemaAnalysisRule (updated) Link ¶
Changes (response)
{'analysisRules': {'collaborationPolicy': {'v1': {'aggregation': {'allowedAdditionalAnalyses': ['string'],
                                                                  'allowedResultReceivers': ['string']},
                                                  'custom': {'allowedAdditionalAnalyses': ['string'],
                                                             'allowedResultReceivers': ['string']},
                                                  'list': {'allowedAdditionalAnalyses': ['string'],
                                                           'allowedResultReceivers': ['string']}}},
                   'consolidatedPolicy': {'v1': {'aggregation': {'additionalAnalyses': 'ALLOWED '
                                                                                       '| '
                                                                                       'REQUIRED '
                                                                                       '| '
                                                                                       'NOT_ALLOWED',
                                                                 'aggregateColumns': [{'columnNames': ['string'],
                                                                                       'function': 'SUM '
                                                                                                   '| '
                                                                                                   'SUM_DISTINCT '
                                                                                                   '| '
                                                                                                   'COUNT '
                                                                                                   '| '
                                                                                                   'COUNT_DISTINCT '
                                                                                                   '| '
                                                                                                   'AVG'}],
                                                                 'allowedAdditionalAnalyses': ['string'],
                                                                 'allowedJoinOperators': ['OR '
                                                                                          '| '
                                                                                          'AND'],
                                                                 'allowedResultReceivers': ['string'],
                                                                 'dimensionColumns': ['string'],
                                                                 'joinColumns': ['string'],
                                                                 'joinRequired': 'QUERY_RUNNER',
                                                                 'outputConstraints': [{'columnName': 'string',
                                                                                        'minimum': 'integer',
                                                                                        'type': 'COUNT_DISTINCT'}],
                                                                 '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']},
                                                 'custom': {'additionalAnalyses': 'ALLOWED '
                                                                                  '| '
                                                                                  'REQUIRED '
                                                                                  '| '
                                                                                  'NOT_ALLOWED',
                                                            'allowedAdditionalAnalyses': ['string'],
                                                            'allowedAnalyses': ['string'],
                                                            'allowedAnalysisProviders': ['string'],
                                                            'allowedResultReceivers': ['string'],
                                                            'differentialPrivacy': {'columns': [{'name': 'string'}]},
                                                            'disallowedOutputColumns': ['string']},
                                                 'list': {'additionalAnalyses': 'ALLOWED '
                                                                                '| '
                                                                                'REQUIRED '
                                                                                '| '
                                                                                'NOT_ALLOWED',
                                                          'allowedAdditionalAnalyses': ['string'],
                                                          'allowedJoinOperators': ['OR '
                                                                                   '| '
                                                                                   'AND'],
                                                          'allowedResultReceivers': ['string'],
                                                          'joinColumns': ['string'],
                                                          'listColumns': ['string']}}}}}

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'|'ID_MAPPING_TABLE'
        },
    ]
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

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

type schemaAnalysisRuleRequests:

list

param schemaAnalysisRuleRequests:

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

rtype:

dict

returns:

Response Syntax

{
    'analysisRules': [
        {
            'collaborationId': 'string',
            'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
            'name': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'policy': {
                'v1': {
                    'list': {
                        'joinColumns': [
                            'string',
                        ],
                        'allowedJoinOperators': [
                            'OR'|'AND',
                        ],
                        'listColumns': [
                            'string',
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                    },
                    'aggregation': {
                        'aggregateColumns': [
                            {
                                'columnNames': [
                                    'string',
                                ],
                                'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                            },
                        ],
                        'joinColumns': [
                            'string',
                        ],
                        'joinRequired': 'QUERY_RUNNER',
                        'allowedJoinOperators': [
                            'OR'|'AND',
                        ],
                        'dimensionColumns': [
                            'string',
                        ],
                        'scalarFunctions': [
                            'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER',
                        ],
                        'outputConstraints': [
                            {
                                'columnName': 'string',
                                'minimum': 123,
                                'type': 'COUNT_DISTINCT'
                            },
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                    },
                    'custom': {
                        'allowedAnalyses': [
                            'string',
                        ],
                        'allowedAnalysisProviders': [
                            'string',
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                        'disallowedOutputColumns': [
                            'string',
                        ],
                        'differentialPrivacy': {
                            'columns': [
                                {
                                    'name': 'string'
                                },
                            ]
                        }
                    },
                    'idMappingTable': {
                        'joinColumns': [
                            'string',
                        ],
                        'queryConstraints': [
                            {
                                'requireOverlap': {
                                    'columns': [
                                        'string',
                                    ]
                                }
                            },
                        ],
                        'dimensionColumns': [
                            'string',
                        ]
                    }
                }
            },
            'collaborationPolicy': {
                'v1': {
                    'list': {
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            'string',
                        ]
                    },
                    'aggregation': {
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            'string',
                        ]
                    },
                    'custom': {
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            'string',
                        ]
                    }
                }
            },
            'consolidatedPolicy': {
                'v1': {
                    'list': {
                        'joinColumns': [
                            'string',
                        ],
                        'allowedJoinOperators': [
                            'OR'|'AND',
                        ],
                        'listColumns': [
                            'string',
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            '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'
                            },
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            'string',
                        ]
                    },
                    'custom': {
                        'allowedAnalyses': [
                            'string',
                        ],
                        'allowedAnalysisProviders': [
                            'string',
                        ],
                        'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                        'disallowedOutputColumns': [
                            'string',
                        ],
                        'differentialPrivacy': {
                            'columns': [
                                {
                                    'name': 'string'
                                },
                            ]
                        },
                        'allowedResultReceivers': [
                            'string',
                        ],
                        'allowedAdditionalAnalyses': [
                            'string',
                        ]
                    }
                }
            }
        },
    ],
    'errors': [
        {
            'name': 'string',
            'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
            '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) --

              • additionalAnalyses (string) --

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

            • aggregation (dict) --

              Analysis rule type that enables only aggregation queries on a configured table.

              • aggregateColumns (list) --

                The columns that query runners are allowed to use in aggregation queries.

                • (dict) --

                  Column in configured table that can be used in aggregate function in query.

                  • columnNames (list) --

                    Column names in configured table of aggregate columns.

                    • (string) --

                  • function (string) --

                    Aggregation function that can be applied to aggregate column in query.

              • joinColumns (list) --

                Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.

                • (string) --

              • joinRequired (string) --

                Control that requires member who runs query to do a join with their configured table and/or other configured table in query.

              • allowedJoinOperators (list) --

                Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND.

                • (string) --

              • dimensionColumns (list) --

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

                • (string) --

              • scalarFunctions (list) --

                Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.

                • (string) --

              • outputConstraints (list) --

                Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.

                • (dict) --

                  Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column.

                  • columnName (string) --

                    Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.

                  • minimum (integer) --

                    The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.

                  • type (string) --

                    The type of aggregation the constraint allows. The only valid value is currently COUNT_DISTINCT.

              • additionalAnalyses (string) --

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

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

            • custom (dict) --

              Analysis rule type that enables custom SQL queries on a configured table.

              • allowedAnalyses (list) --

                The ARN of the analysis templates that are allowed by the custom analysis rule.

                • (string) --

              • allowedAnalysisProviders (list) --

                The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when allowedAnalyses is ANY_QUERY.

                • (string) --

              • additionalAnalyses (string) --

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

              • disallowedOutputColumns (list) --

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

                • (string) --

              • differentialPrivacy (dict) --

                The differential privacy configuration.

                • columns (list) --

                  The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

                  • (dict) --

                    Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

                    • name (string) --

                      The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

            • idMappingTable (dict) --

              The ID mapping table.

              • joinColumns (list) --

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

                • (string) --

              • queryConstraints (list) --

                The query constraints of the analysis rule ID mapping table.

                • (dict) --

                  Provides any necessary query constraint information.

                  • requireOverlap (dict) --

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

                    • columns (list) --

                      The columns that are required to overlap.

                      • (string) --

              • dimensionColumns (list) --

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

                • (string) --

        • collaborationPolicy (dict) --

          Controls on the query specifications that can be run on an associated configured table.

          • v1 (dict) --

            The policy for the configured table association analysis rule.

            • list (dict) --

              Analysis rule type that enables only list queries on a configured table.

              • allowedResultReceivers (list) --

                The list of collaboration members who are allowed to receive results of queries run with this configured table.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

                • (string) --

            • aggregation (dict) --

              Analysis rule type that enables only aggregation queries on a configured table.

              • allowedResultReceivers (list) --

                The list of collaboration members who are allowed to receive results of queries run with this configured table.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

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

                • (string) --

            • custom (dict) --

              Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

              • allowedResultReceivers (list) --

                The list of collaboration members who are allowed to receive results of queries run with this configured table.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

                • (string) --

        • consolidatedPolicy (dict) --

          The consolidated policy for the analysis rule.

          • v1 (dict) --

            The consolidated policy version 1.

            • list (dict) --

              The list of consolidated policies.

              • joinColumns (list) --

                The columns to join on.

                • (string) --

              • allowedJoinOperators (list) --

                The allowed join operators in the consolidated policy list.

                • (string) --

              • listColumns (list) --

                The columns in the consolidated policy list.

                • (string) --

              • additionalAnalyses (string) --

                Additional analyses for the consolidated policy list.

              • allowedResultReceivers (list) --

                The allowed result receivers.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The additional analyses allowed by the consolidated policy list.

                • (string) --

            • aggregation (dict) --

              The aggregation setting for the consolidated policy.

              • aggregateColumns (list) --

                Aggregate columns in consolidated policy aggregation.

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

                The columns to join on.

                • (string) --

              • joinRequired (string) --

                Join required

              • allowedJoinOperators (list) --

                The allowed join operators.

                • (string) --

              • dimensionColumns (list) --

                The dimension columns of the consolidated policy aggregation.

                • (string) --

              • scalarFunctions (list) --

                The scalar functions.

                • (string) --

              • outputConstraints (list) --

                The output constraints of the consolidated policy aggregation.

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

                Additional analyses for the consolidated policy aggregation.

              • allowedResultReceivers (list) --

                The allowed result receivers.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The additional analyses allowed by the consolidated policy aggregation.

                • (string) --

            • custom (dict) --

              Custom policy

              • allowedAnalyses (list) --

                The allowed analyses.

                • (string) --

              • allowedAnalysisProviders (list) --

                The allowed analysis providers.

                • (string) --

              • additionalAnalyses (string) --

                Additional analyses for the consolidated policy.

              • disallowedOutputColumns (list) --

                Disallowed output columns

                • (string) --

              • differentialPrivacy (dict) --

                Specifies the unique identifier for your users.

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

              • allowedResultReceivers (list) --

                The allowed result receivers.

                • (string) --

              • allowedAdditionalAnalyses (list) --

                The additional analyses allowed by the consolidated policy.

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

CreateAnalysisTemplate (updated) Link ¶
Changes (request, response)
Request
{'format': {'PYSPARK_1_0'},
 'schema': {'referencedTables': ['string']},
 'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                'key': 'string'}}],
                          'entryPoint': {'location': {'bucket': 'string',
                                                      'key': 'string'}},
                          'roleArn': 'string'}}}
Response
{'analysisTemplate': {'format': {'PYSPARK_1_0'},
                      'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                                     'key': 'string'}}],
                                               'entryPoint': {'location': {'bucket': 'string',
                                                                           'key': 'string'}},
                                               'roleArn': 'string'}},
                      'sourceMetadata': {'artifacts': {'additionalArtifactHashes': [{'sha256': 'string'}],
                                                       'entryPointHash': {'sha256': 'string'}}}}}

Creates a new analysis template.

See also: AWS API Documentation

Request Syntax

client.create_analysis_template(
    description='string',
    membershipIdentifier='string',
    name='string',
    format='SQL'|'PYSPARK_1_0',
    source={
        'text': 'string',
        'artifacts': {
            'entryPoint': {
                'location': {
                    'bucket': 'string',
                    'key': 'string'
                }
            },
            'additionalArtifacts': [
                {
                    'location': {
                        'bucket': 'string',
                        'key': 'string'
                    }
                },
            ],
            'roleArn': 'string'
        }
    },
    tags={
        'string': 'string'
    },
    analysisParameters=[
        {
            'name': 'string',
            'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
            'defaultValue': 'string'
        },
    ],
    schema={
        'referencedTables': [
            'string',
        ]
    }
)
type description:

string

param description:

The description of the analysis template.

type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a membership resource.

type name:

string

param name:

[REQUIRED]

The name of the analysis template.

type format:

string

param format:

[REQUIRED]

The format of the analysis template.

type source:

dict

param source:

[REQUIRED]

The information in the analysis template. Currently supports text, the query text for the analysis template.

  • text (string) --

    The query text.

  • artifacts (dict) --

    The artifacts of the analysis source.

    • entryPoint (dict) -- [REQUIRED]

      The entry point for the analysis template artifacts.

      • location (dict) -- [REQUIRED]

        The artifact location.

        • bucket (string) -- [REQUIRED]

          The bucket name.

        • key (string) -- [REQUIRED]

          The object key.

    • additionalArtifacts (list) --

      Additional artifacts for the analysis template.

      • (dict) --

        The analysis template artifact.

        • location (dict) -- [REQUIRED]

          The artifact location.

          • bucket (string) -- [REQUIRED]

            The bucket name.

          • key (string) -- [REQUIRED]

            The object key.

    • roleArn (string) -- [REQUIRED]

      The role ARN for the analysis template artifacts.

type tags:

dict

param tags:

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

  • (string) --

    • (string) --

type analysisParameters:

list

param analysisParameters:

The parameters of the analysis template.

  • (dict) --

    Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

    • name (string) -- [REQUIRED]

      The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

    • type (string) -- [REQUIRED]

      The type of parameter.

    • defaultValue (string) --

      Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

type schema:

dict

param schema:

A relation within an analysis.

  • referencedTables (list) --

    The tables referenced in the analysis schema.

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'analysisTemplate': {
        'id': 'string',
        'arn': 'string',
        'collaborationId': 'string',
        'collaborationArn': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'description': 'string',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'schema': {
            'referencedTables': [
                'string',
            ]
        },
        'format': 'SQL'|'PYSPARK_1_0',
        'source': {
            'text': 'string',
            'artifacts': {
                'entryPoint': {
                    'location': {
                        'bucket': 'string',
                        'key': 'string'
                    }
                },
                'additionalArtifacts': [
                    {
                        'location': {
                            'bucket': 'string',
                            'key': 'string'
                        }
                    },
                ],
                'roleArn': 'string'
            }
        },
        'sourceMetadata': {
            'artifacts': {
                'entryPointHash': {
                    'sha256': 'string'
                },
                'additionalArtifactHashes': [
                    {
                        'sha256': 'string'
                    },
                ]
            }
        },
        'analysisParameters': [
            {
                'name': 'string',
                'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
                'defaultValue': 'string'
            },
        ],
        'validations': [
            {
                'type': 'DIFFERENTIAL_PRIVACY',
                'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE',
                'reasons': [
                    {
                        'message': 'string'
                    },
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • analysisTemplate (dict) --

      The analysis template.

      • id (string) --

        The identifier for the analysis template.

      • arn (string) --

        The Amazon Resource Name (ARN) of the analysis template.

      • collaborationId (string) --

        The unique ID for the associated collaboration of the analysis template.

      • collaborationArn (string) --

        The unique ARN for the analysis template’s associated collaboration.

      • membershipId (string) --

        The identifier of a member who created the analysis template.

      • membershipArn (string) --

        The Amazon Resource Name (ARN) of the member who created the analysis template.

      • description (string) --

        The description of the analysis template.

      • name (string) --

        The name of the analysis template.

      • createTime (datetime) --

        The time that the analysis template was created.

      • updateTime (datetime) --

        The time that the analysis template was last updated.

      • schema (dict) --

        The entire schema object.

        • referencedTables (list) --

          The tables referenced in the analysis schema.

          • (string) --

      • format (string) --

        The format of the analysis template.

      • source (dict) --

        The source of the analysis template.

        • text (string) --

          The query text.

        • artifacts (dict) --

          The artifacts of the analysis source.

          • entryPoint (dict) --

            The entry point for the analysis template artifacts.

            • location (dict) --

              The artifact location.

              • bucket (string) --

                The bucket name.

              • key (string) --

                The object key.

          • additionalArtifacts (list) --

            Additional artifacts for the analysis template.

            • (dict) --

              The analysis template artifact.

              • location (dict) --

                The artifact location.

                • bucket (string) --

                  The bucket name.

                • key (string) --

                  The object key.

          • roleArn (string) --

            The role ARN for the analysis template artifacts.

      • sourceMetadata (dict) --

        The source metadata for the analysis template.

        • artifacts (dict) --

          The artifacts of the analysis source metadata.

          • entryPointHash (dict) --

            The hash of the entry point for the analysis template artifact metadata.

            • sha256 (string) --

              The SHA-256 hash value.

          • additionalArtifactHashes (list) --

            Additional artifact hashes for the analysis template.

            • (dict) --

              Hash

              • sha256 (string) --

                The SHA-256 hash value.

      • analysisParameters (list) --

        The parameters of the analysis template.

        • (dict) --

          Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

          • name (string) --

            The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

          • type (string) --

            The type of parameter.

          • defaultValue (string) --

            Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

      • validations (list) --

        Information about the validations performed on the analysis template.

        • (dict) --

          The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration.

          For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy.

          • type (string) --

            The type of validation that was performed.

          • status (string) --

            The status of the validation.

          • reasons (list) --

            The reasons for the validation results.

            • (dict) --

              The reasons for the validation results.

              • message (string) --

                The validation message.

CreateCollaboration (updated) Link ¶
Changes (request, response)
Request
{'creatorMemberAbilities': {'CAN_RUN_JOB'},
 'creatorPaymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}},
 'jobLogStatus': 'ENABLED | DISABLED',
 'members': {'memberAbilities': {'CAN_RUN_JOB'},
             'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}
Response
{'collaboration': {'jobLogStatus': 'ENABLED | DISABLED'}}

Creates a new collaboration.

See also: AWS API Documentation

Request Syntax

client.create_collaboration(
    members=[
        {
            'accountId': 'string',
            'memberAbilities': [
                'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
            ],
            'mlMemberAbilities': {
                'customMLMemberAbilities': [
                    'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
                ]
            },
            'displayName': 'string',
            'paymentConfiguration': {
                'queryCompute': {
                    'isResponsible': True|False
                },
                'machineLearning': {
                    'modelTraining': {
                        'isResponsible': True|False
                    },
                    'modelInference': {
                        'isResponsible': True|False
                    }
                },
                'jobCompute': {
                    'isResponsible': True|False
                }
            }
        },
    ],
    name='string',
    description='string',
    creatorMemberAbilities=[
        'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
    ],
    creatorMLMemberAbilities={
        'customMLMemberAbilities': [
            'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
        ]
    },
    creatorDisplayName='string',
    dataEncryptionMetadata={
        'allowCleartext': True|False,
        'allowDuplicates': True|False,
        'allowJoinsOnColumnsWithDifferentNames': True|False,
        'preserveNulls': True|False
    },
    queryLogStatus='ENABLED'|'DISABLED',
    jobLogStatus='ENABLED'|'DISABLED',
    tags={
        'string': 'string'
    },
    creatorPaymentConfiguration={
        'queryCompute': {
            'isResponsible': True|False
        },
        'machineLearning': {
            'modelTraining': {
                'isResponsible': True|False
            },
            'modelInference': {
                'isResponsible': True|False
            }
        },
        'jobCompute': {
            'isResponsible': True|False
        }
    },
    analyticsEngine='SPARK'|'CLEAN_ROOMS_SQL'
)
type members:

list

param members:

[REQUIRED]

A list of initial members, not including the creator. This list is immutable.

  • (dict) --

    Basic metadata used to construct a new member.

    • accountId (string) -- [REQUIRED]

      The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

    • memberAbilities (list) -- [REQUIRED]

      The abilities granted to the collaboration member.

      • (string) --

    • mlMemberAbilities (dict) --

      The ML abilities granted to the collaboration member.

      • customMLMemberAbilities (list) -- [REQUIRED]

        The custom ML member abilities for a collaboration member.

        • (string) --

    • displayName (string) -- [REQUIRED]

      The member's display name.

    • paymentConfiguration (dict) --

      The collaboration member's payment responsibilities set by the collaboration creator.

      If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer.

      • queryCompute (dict) -- [REQUIRED]

        The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.

        • isResponsible (boolean) -- [REQUIRED]

          Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( TRUE) or has not configured the collaboration member to pay for query compute costs ( FALSE).

          Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

          If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

      • machineLearning (dict) --

        An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.

        • modelTraining (dict) --

          The payment responsibilities accepted by the member for model training.

          • isResponsible (boolean) -- [REQUIRED]

            Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( TRUE) or has not configured the collaboration member to pay for model training costs ( FALSE).

            Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

            If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

        • modelInference (dict) --

          The payment responsibilities accepted by the member for model inference.

          • isResponsible (boolean) -- [REQUIRED]

            Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( TRUE) or has not configured the collaboration member to pay for model inference costs ( FALSE).

            Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

            If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

      • jobCompute (dict) --

        The compute configuration for the job.

        • isResponsible (boolean) -- [REQUIRED]

          Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( TRUE) or has not configured the collaboration member to pay for query and job compute costs ( FALSE).

          Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

          An error is returned if the collaboration creator sets a FALSE value for the member who can run queries and jobs.

type name:

string

param name:

[REQUIRED]

The display name for a collaboration.

type description:

string

param description:

[REQUIRED]

A description of the collaboration provided by the collaboration owner.

type creatorMemberAbilities:

list

param creatorMemberAbilities:

[REQUIRED]

The abilities granted to the collaboration creator.

  • (string) --

type creatorMLMemberAbilities:

dict

param creatorMLMemberAbilities:

The ML abilities granted to the collaboration creator.

  • customMLMemberAbilities (list) -- [REQUIRED]

    The custom ML member abilities for a collaboration member.

    • (string) --

type creatorDisplayName:

string

param creatorDisplayName:

[REQUIRED]

The display name of the collaboration creator.

type dataEncryptionMetadata:

dict

param dataEncryptionMetadata:

The settings for client-side encryption with Cryptographic Computing for Clean Rooms.

  • allowCleartext (boolean) -- [REQUIRED]

    Indicates whether encrypted tables can contain cleartext data ( TRUE) or are to cryptographically process every column ( FALSE).

  • allowDuplicates (boolean) -- [REQUIRED]

    Indicates whether Fingerprint columns can contain duplicate entries ( TRUE) or are to contain only non-repeated values ( FALSE).

  • allowJoinsOnColumnsWithDifferentNames (boolean) -- [REQUIRED]

    Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( TRUE) or can only be joined on Fingerprint columns of the same name ( FALSE).

  • preserveNulls (boolean) -- [REQUIRED]

    Indicates whether NULL values are to be copied as NULL to encrypted tables ( TRUE) or cryptographically processed ( FALSE).

type queryLogStatus:

string

param queryLogStatus:

[REQUIRED]

An indicator as to whether query logging has been enabled or disabled for the collaboration.

When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type jobLogStatus:

string

param jobLogStatus:

Specifies whether job logs are enabled for this collaboration.

When ENABLED, Clean Rooms logs details about jobs run within this collaboration; those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type tags:

dict

param tags:

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

  • (string) --

    • (string) --

type creatorPaymentConfiguration:

dict

param creatorPaymentConfiguration:

The collaboration creator's payment responsibilities set by the collaboration creator.

If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer.

  • queryCompute (dict) -- [REQUIRED]

    The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.

    • isResponsible (boolean) -- [REQUIRED]

      Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( TRUE) or has not configured the collaboration member to pay for query compute costs ( FALSE).

      Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

      If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

  • machineLearning (dict) --

    An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.

    • modelTraining (dict) --

      The payment responsibilities accepted by the member for model training.

      • isResponsible (boolean) -- [REQUIRED]

        Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( TRUE) or has not configured the collaboration member to pay for model training costs ( FALSE).

        Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

        If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

    • modelInference (dict) --

      The payment responsibilities accepted by the member for model inference.

      • isResponsible (boolean) -- [REQUIRED]

        Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( TRUE) or has not configured the collaboration member to pay for model inference costs ( FALSE).

        Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

        If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

  • jobCompute (dict) --

    The compute configuration for the job.

    • isResponsible (boolean) -- [REQUIRED]

      Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( TRUE) or has not configured the collaboration member to pay for query and job compute costs ( FALSE).

      Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

      An error is returned if the collaboration creator sets a FALSE value for the member who can run queries and jobs.

type analyticsEngine:

string

param analyticsEngine:

The analytics engine.

rtype:

dict

returns:

Response Syntax

{
    'collaboration': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'creatorAccountId': 'string',
        'creatorDisplayName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED',
        'membershipId': 'string',
        'membershipArn': 'string',
        'dataEncryptionMetadata': {
            'allowCleartext': True|False,
            'allowDuplicates': True|False,
            'allowJoinsOnColumnsWithDifferentNames': True|False,
            'preserveNulls': True|False
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL'
    }
}

Response Structure

  • (dict) --

    • collaboration (dict) --

      The collaboration.

      • id (string) --

        The unique ID for the collaboration.

      • arn (string) --

        The unique ARN for the collaboration.

      • name (string) --

        A human-readable identifier provided by the collaboration owner. Display names are not unique.

      • description (string) --

        A description of the collaboration provided by the collaboration owner.

      • creatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • creatorDisplayName (string) --

        A display name of the collaboration creator.

      • createTime (datetime) --

        The time when the collaboration was created.

      • updateTime (datetime) --

        The time the collaboration metadata was last updated.

      • memberStatus (string) --

        The status of a member in a collaboration.

      • membershipId (string) --

        The unique ID for your membership within the collaboration.

      • membershipArn (string) --

        The unique ARN for your membership within the collaboration.

      • dataEncryptionMetadata (dict) --

        The settings for client-side encryption for cryptographic computing.

        • allowCleartext (boolean) --

          Indicates whether encrypted tables can contain cleartext data ( TRUE) or are to cryptographically process every column ( FALSE).

        • allowDuplicates (boolean) --

          Indicates whether Fingerprint columns can contain duplicate entries ( TRUE) or are to contain only non-repeated values ( FALSE).

        • allowJoinsOnColumnsWithDifferentNames (boolean) --

          Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( TRUE) or can only be joined on Fingerprint columns of the same name ( FALSE).

        • preserveNulls (boolean) --

          Indicates whether NULL values are to be copied as NULL to encrypted tables ( TRUE) or cryptographically processed ( FALSE).

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

CreateConfiguredTable (updated) Link ¶
Changes (request, response)
Request
{'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
 'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}
Response
{'configuredTable': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
                     'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Creates a new configured table resource.

See also: AWS API Documentation

Request Syntax

client.create_configured_table(
    name='string',
    description='string',
    tableReference={
        'glue': {
            'tableName': 'string',
            'databaseName': 'string'
        },
        'snowflake': {
            'secretArn': 'string',
            'accountIdentifier': 'string',
            'databaseName': 'string',
            'tableName': 'string',
            'schemaName': 'string',
            'tableSchema': {
                'v1': [
                    {
                        'columnName': 'string',
                        'columnType': 'string'
                    },
                ]
            }
        },
        'athena': {
            'workGroup': 'string',
            'outputLocation': 'string',
            'databaseName': 'string',
            'tableName': 'string'
        }
    },
    allowedColumns=[
        'string',
    ],
    analysisMethod='DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
    selectedAnalysisMethods=[
        'DIRECT_QUERY'|'DIRECT_JOB',
    ],
    tags={
        'string': 'string'
    }
)
type name:

string

param name:

[REQUIRED]

The name of the configured table.

type description:

string

param description:

A description for the configured table.

type tableReference:

dict

param tableReference:

[REQUIRED]

A reference to the table being configured.

  • glue (dict) --

    If present, a reference to the Glue table referred to by this table reference.

    • tableName (string) -- [REQUIRED]

      The name of the Glue table.

    • databaseName (string) -- [REQUIRED]

      The name of the database the Glue table belongs to.

  • snowflake (dict) --

    If present, a reference to the Snowflake table referred to by this table reference.

    • secretArn (string) -- [REQUIRED]

      The secret ARN of the Snowflake table reference.

    • accountIdentifier (string) -- [REQUIRED]

      The account identifier for the Snowflake table reference.

    • databaseName (string) -- [REQUIRED]

      The name of the database the Snowflake table belongs to.

    • tableName (string) -- [REQUIRED]

      The name of the Snowflake table.

    • schemaName (string) -- [REQUIRED]

      The schema name of the Snowflake table reference.

    • tableSchema (dict) -- [REQUIRED]

      The schema of the Snowflake table.

      • v1 (list) --

        The schema of a Snowflake table.

        • (dict) --

          The Snowflake table schema.

          • columnName (string) -- [REQUIRED]

            The column name.

          • columnType (string) -- [REQUIRED]

            The column's data type. Supported data types: ARRAY, BIGINT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, DOUBLE PRECISION, FLOAT, FLOAT4, INT, INTEGER, MAP, NUMERIC, NUMBER, REAL, SMALLINT, STRING, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, TINYINT, VARCHAR, TEXT, CHARACTER.

  • athena (dict) --

    If present, a reference to the Athena table referred to by this table reference.

    • workGroup (string) -- [REQUIRED]

      The workgroup of the Athena table reference.

    • outputLocation (string) --

      The output location for the Athena table.

    • databaseName (string) -- [REQUIRED]

      The database name.

    • tableName (string) -- [REQUIRED]

      The table reference.

type allowedColumns:

list

param allowedColumns:

[REQUIRED]

The columns of the underlying table that can be used by collaborations or analysis rules.

  • (string) --

type analysisMethod:

string

param analysisMethod:

[REQUIRED]

The analysis method allowed for the configured tables.

DIRECT_QUERY allows SQL queries to be run directly on this table.

DIRECT_JOB allows PySpark jobs to be run directly on this table.

MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

type selectedAnalysisMethods:

list

param selectedAnalysisMethods:

The analysis methods to enable for the configured table. When configured, you must specify at least two analysis methods.

  • (string) --

type tags:

dict

param tags:

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'configuredTable': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'tableReference': {
            'glue': {
                'tableName': 'string',
                'databaseName': 'string'
            },
            'snowflake': {
                'secretArn': 'string',
                'accountIdentifier': 'string',
                'databaseName': 'string',
                'tableName': 'string',
                'schemaName': 'string',
                'tableSchema': {
                    'v1': [
                        {
                            'columnName': 'string',
                            'columnType': 'string'
                        },
                    ]
                }
            },
            'athena': {
                'workGroup': 'string',
                'outputLocation': 'string',
                'databaseName': 'string',
                'tableName': 'string'
            }
        },
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'analysisRuleTypes': [
            'AGGREGATION'|'LIST'|'CUSTOM',
        ],
        'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
        'allowedColumns': [
            'string',
        ],
        'selectedAnalysisMethods': [
            'DIRECT_QUERY'|'DIRECT_JOB',
        ]
    }
}

Response Structure

  • (dict) --

    • configuredTable (dict) --

      The created configured table.

      • id (string) --

        The unique ID for the configured table.

      • arn (string) --

        The unique ARN for the configured table.

      • name (string) --

        A name for the configured table.

      • description (string) --

        A description for the configured table.

      • tableReference (dict) --

        The table that this configured table represents.

        • glue (dict) --

          If present, a reference to the Glue table referred to by this table reference.

          • tableName (string) --

            The name of the Glue table.

          • databaseName (string) --

            The name of the database the Glue table belongs to.

        • snowflake (dict) --

          If present, a reference to the Snowflake table referred to by this table reference.

          • secretArn (string) --

            The secret ARN of the Snowflake table reference.

          • accountIdentifier (string) --

            The account identifier for the Snowflake table reference.

          • databaseName (string) --

            The name of the database the Snowflake table belongs to.

          • tableName (string) --

            The name of the Snowflake table.

          • schemaName (string) --

            The schema name of the Snowflake table reference.

          • tableSchema (dict) --

            The schema of the Snowflake table.

            • v1 (list) --

              The schema of a Snowflake table.

              • (dict) --

                The Snowflake table schema.

                • columnName (string) --

                  The column name.

                • columnType (string) --

                  The column's data type. Supported data types: ARRAY, BIGINT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, DOUBLE PRECISION, FLOAT, FLOAT4, INT, INTEGER, MAP, NUMERIC, NUMBER, REAL, SMALLINT, STRING, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, TINYINT, VARCHAR, TEXT, CHARACTER.

        • athena (dict) --

          If present, a reference to the Athena table referred to by this table reference.

          • workGroup (string) --

            The workgroup of the Athena table reference.

          • outputLocation (string) --

            The output location for the Athena table.

          • databaseName (string) --

            The database name.

          • tableName (string) --

            The table reference.

      • createTime (datetime) --

        The time the configured table was created.

      • updateTime (datetime) --

        The time the configured table was last updated

      • analysisRuleTypes (list) --

        The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table.

        • (string) --

      • analysisMethod (string) --

        The analysis method for the configured table.

        DIRECT_QUERY allows SQL queries to be run directly on this table.

        DIRECT_JOB allows PySpark jobs to be run directly on this table.

        MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

      • allowedColumns (list) --

        The columns within the underlying Glue table that can be utilized within collaborations.

        • (string) --

      • selectedAnalysisMethods (list) --

        The selected analysis methods for the configured table.

        • (string) --

CreateMembership (updated) Link ¶
Changes (request, response)
Request
{'defaultJobResultConfiguration': {'outputConfiguration': {'s3': {'bucket': 'string',
                                                                  'keyPrefix': 'string'}},
                                   'roleArn': 'string'},
 'jobLogStatus': 'ENABLED | DISABLED',
 'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}
Response
{'membership': {'defaultJobResultConfiguration': {'outputConfiguration': {'s3': {'bucket': 'string',
                                                                                 'keyPrefix': 'string'}},
                                                  'roleArn': 'string'},
                'jobLogStatus': 'ENABLED | DISABLED',
                'memberAbilities': {'CAN_RUN_JOB'},
                'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}

Creates a membership for a specific collaboration identifier and joins the collaboration.

See also: AWS API Documentation

Request Syntax

client.create_membership(
    collaborationIdentifier='string',
    queryLogStatus='ENABLED'|'DISABLED',
    jobLogStatus='ENABLED'|'DISABLED',
    tags={
        'string': 'string'
    },
    defaultResultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string',
                'singleFileOutput': True|False
            }
        },
        'roleArn': 'string'
    },
    defaultJobResultConfiguration={
        'outputConfiguration': {
            's3': {
                'bucket': 'string',
                'keyPrefix': 'string'
            }
        },
        'roleArn': 'string'
    },
    paymentConfiguration={
        'queryCompute': {
            'isResponsible': True|False
        },
        'machineLearning': {
            'modelTraining': {
                'isResponsible': True|False
            },
            'modelInference': {
                'isResponsible': True|False
            }
        },
        'jobCompute': {
            'isResponsible': True|False
        }
    }
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

The unique ID for the associated collaboration.

type queryLogStatus:

string

param queryLogStatus:

[REQUIRED]

An indicator as to whether query logging has been enabled or disabled for the membership.

When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type jobLogStatus:

string

param jobLogStatus:

An indicator as to whether job logging has been enabled or disabled for the collaboration.

When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type tags:

dict

param tags:

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

  • (string) --

    • (string) --

type defaultResultConfiguration:

dict

param defaultResultConfiguration:

The default protected query result configuration as specified by the member who can receive results.

  • outputConfiguration (dict) -- [REQUIRED]

    Configuration for protected query results.

    • s3 (dict) --

      Contains the configuration to write the query results to S3.

      • resultFormat (string) -- [REQUIRED]

        Intended file format of the result.

      • bucket (string) -- [REQUIRED]

        The S3 bucket to unload the protected query results.

      • keyPrefix (string) --

        The S3 prefix to unload the protected query results.

      • singleFileOutput (boolean) --

        Indicates whether files should be output as a single file ( TRUE) or output as multiple files ( FALSE). This parameter is only supported for analyses with the Spark analytics engine.

  • roleArn (string) --

    The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results.

type defaultJobResultConfiguration:

dict

param defaultJobResultConfiguration:

The default job result configuration that determines how job results are protected and managed within this membership. This configuration applies to all jobs.

  • outputConfiguration (dict) -- [REQUIRED]

    The output configuration for a protected job result.

    • s3 (dict) --

      Contains the configuration to write the job results to S3.

      • bucket (string) -- [REQUIRED]

        The S3 bucket for job output.

      • keyPrefix (string) --

        The S3 prefix to unload the protected job results.

  • roleArn (string) -- [REQUIRED]

    The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results.

type paymentConfiguration:

dict

param paymentConfiguration:

The payment responsibilities accepted by the collaboration member.

Not required if the collaboration member has the member ability to run queries.

Required if the collaboration member doesn't have the member ability to run queries but is configured as a payer by the collaboration creator.

  • queryCompute (dict) -- [REQUIRED]

    The payment responsibilities accepted by the collaboration member for query compute costs.

    • isResponsible (boolean) -- [REQUIRED]

      Indicates whether the collaboration member has accepted to pay for query compute costs ( TRUE) or has not accepted to pay for query compute costs ( FALSE).

      If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

      An error message is returned for the following reasons:

      • If you set the value to FALSE but you are responsible to pay for query compute costs.

      • If you set the value to TRUE but you are not responsible to pay for query compute costs.

  • machineLearning (dict) --

    The payment responsibilities accepted by the collaboration member for machine learning costs.

    • modelTraining (dict) --

      The payment responsibilities accepted by the member for model training.

      • isResponsible (boolean) -- [REQUIRED]

        Indicates whether the collaboration member has accepted to pay for model training costs ( TRUE) or has not accepted to pay for model training costs ( FALSE).

        If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.

        An error message is returned for the following reasons:

        • If you set the value to FALSE but you are responsible to pay for model training costs.

        • If you set the value to TRUE but you are not responsible to pay for model training costs.

    • modelInference (dict) --

      The payment responsibilities accepted by the member for model inference.

      • isResponsible (boolean) -- [REQUIRED]

        Indicates whether the collaboration member has accepted to pay for model inference costs ( TRUE) or has not accepted to pay for model inference costs ( FALSE).

        If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.

        An error message is returned for the following reasons:

        • If you set the value to FALSE but you are responsible to pay for model inference costs.

        • If you set the value to TRUE but you are not responsible to pay for model inference costs.

  • jobCompute (dict) --

    The payment responsibilities accepted by the collaboration member for job compute costs.

    • isResponsible (boolean) -- [REQUIRED]

      Indicates whether the collaboration member has accepted to pay for job compute costs ( TRUE) or has not accepted to pay for query and job compute costs ( FALSE).

      There is only one member who pays for queries and jobs.

      An error message is returned for the following reasons:

      • If you set the value to FALSE but you are responsible to pay for query and job compute costs.

      • If you set the value to TRUE but you are not responsible to pay for query and job compute costs.

rtype:

dict

returns:

Response Syntax

{
    'membership': {
        'id': 'string',
        'arn': 'string',
        'collaborationArn': 'string',
        'collaborationId': 'string',
        'collaborationCreatorAccountId': 'string',
        'collaborationCreatorDisplayName': 'string',
        'collaborationName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED',
        'memberAbilities': [
            'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
        ],
        'mlMemberAbilities': {
            'customMLMemberAbilities': [
                'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
            ]
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'defaultJobResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                'isResponsible': True|False
            },
            'machineLearning': {
                'modelTraining': {
                    'isResponsible': True|False
                },
                'modelInference': {
                    'isResponsible': True|False
                }
            },
            'jobCompute': {
                'isResponsible': True|False
            }
        }
    }
}

Response Structure

  • (dict) --

    • membership (dict) --

      The membership that was created.

      • id (string) --

        The unique ID of the membership.

      • arn (string) --

        The unique ARN for the membership.

      • collaborationArn (string) --

        The unique ARN for the membership's associated collaboration.

      • collaborationId (string) --

        The unique ID for the membership's collaboration.

      • collaborationCreatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • collaborationCreatorDisplayName (string) --

        The display name of the collaboration creator.

      • collaborationName (string) --

        The name of the membership's collaboration.

      • createTime (datetime) --

        The time when the membership was created.

      • updateTime (datetime) --

        The time the membership metadata was last updated.

      • status (string) --

        The status of the membership.

      • memberAbilities (list) --

        The abilities granted to the collaboration member.

        • (string) --

      • mlMemberAbilities (dict) --

        Specifies the ML member abilities that are granted to a collaboration member.

        • customMLMemberAbilities (list) --

          The custom ML member abilities for a collaboration member.

          • (string) --

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the membership.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • defaultResultConfiguration (dict) --

        The default protected query result configuration as specified by the member who can receive results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          • s3 (dict) --

            Contains the configuration to write the query results to S3.

            • resultFormat (string) --

              Intended file format of the result.

            • bucket (string) --

              The S3 bucket to unload the protected query results.

            • keyPrefix (string) --

              The S3 prefix to unload the protected query results.

            • singleFileOutput (boolean) --

              Indicates whether files should be output as a single file ( TRUE) or output as multiple files ( FALSE). This parameter is only supported for analyses with the Spark analytics engine.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results.

      • defaultJobResultConfiguration (dict) --

        The default job result configuration for the membership.

        • outputConfiguration (dict) --

          The output configuration for a protected job result.

          • s3 (dict) --

            Contains the configuration to write the job results to S3.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results.

      • paymentConfiguration (dict) --

        The payment responsibilities accepted by the collaboration member.

        • queryCompute (dict) --

          The payment responsibilities accepted by the collaboration member for query compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for query compute costs ( TRUE) or has not accepted to pay for query compute costs ( FALSE).

            If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query compute costs.

        • machineLearning (dict) --

          The payment responsibilities accepted by the collaboration member for machine learning costs.

          • modelTraining (dict) --

            The payment responsibilities accepted by the member for model training.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model training costs ( TRUE) or has not accepted to pay for model training costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model training costs.

              • If you set the value to TRUE but you are not responsible to pay for model training costs.

          • modelInference (dict) --

            The payment responsibilities accepted by the member for model inference.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model inference costs ( TRUE) or has not accepted to pay for model inference costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model inference costs.

              • If you set the value to TRUE but you are not responsible to pay for model inference costs.

        • jobCompute (dict) --

          The payment responsibilities accepted by the collaboration member for job compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for job compute costs ( TRUE) or has not accepted to pay for query and job compute costs ( FALSE).

            There is only one member who pays for queries and jobs.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query and job compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query and job compute costs.

GetAnalysisTemplate (updated) Link ¶
Changes (response)
{'analysisTemplate': {'format': {'PYSPARK_1_0'},
                      'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                                     'key': 'string'}}],
                                               'entryPoint': {'location': {'bucket': 'string',
                                                                           'key': 'string'}},
                                               'roleArn': 'string'}},
                      'sourceMetadata': {'artifacts': {'additionalArtifactHashes': [{'sha256': 'string'}],
                                                       'entryPointHash': {'sha256': 'string'}}}}}

Retrieves an analysis template.

See also: AWS API Documentation

Request Syntax

client.get_analysis_template(
    membershipIdentifier='string',
    analysisTemplateIdentifier='string'
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a membership resource.

type analysisTemplateIdentifier:

string

param analysisTemplateIdentifier:

[REQUIRED]

The identifier for the analysis template resource.

rtype:

dict

returns:

Response Syntax

{
    'analysisTemplate': {
        'id': 'string',
        'arn': 'string',
        'collaborationId': 'string',
        'collaborationArn': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'description': 'string',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'schema': {
            'referencedTables': [
                'string',
            ]
        },
        'format': 'SQL'|'PYSPARK_1_0',
        'source': {
            'text': 'string',
            'artifacts': {
                'entryPoint': {
                    'location': {
                        'bucket': 'string',
                        'key': 'string'
                    }
                },
                'additionalArtifacts': [
                    {
                        'location': {
                            'bucket': 'string',
                            'key': 'string'
                        }
                    },
                ],
                'roleArn': 'string'
            }
        },
        'sourceMetadata': {
            'artifacts': {
                'entryPointHash': {
                    'sha256': 'string'
                },
                'additionalArtifactHashes': [
                    {
                        'sha256': 'string'
                    },
                ]
            }
        },
        'analysisParameters': [
            {
                'name': 'string',
                'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
                'defaultValue': 'string'
            },
        ],
        'validations': [
            {
                'type': 'DIFFERENTIAL_PRIVACY',
                'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE',
                'reasons': [
                    {
                        'message': 'string'
                    },
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • analysisTemplate (dict) --

      The analysis template.

      • id (string) --

        The identifier for the analysis template.

      • arn (string) --

        The Amazon Resource Name (ARN) of the analysis template.

      • collaborationId (string) --

        The unique ID for the associated collaboration of the analysis template.

      • collaborationArn (string) --

        The unique ARN for the analysis template’s associated collaboration.

      • membershipId (string) --

        The identifier of a member who created the analysis template.

      • membershipArn (string) --

        The Amazon Resource Name (ARN) of the member who created the analysis template.

      • description (string) --

        The description of the analysis template.

      • name (string) --

        The name of the analysis template.

      • createTime (datetime) --

        The time that the analysis template was created.

      • updateTime (datetime) --

        The time that the analysis template was last updated.

      • schema (dict) --

        The entire schema object.

        • referencedTables (list) --

          The tables referenced in the analysis schema.

          • (string) --

      • format (string) --

        The format of the analysis template.

      • source (dict) --

        The source of the analysis template.

        • text (string) --

          The query text.

        • artifacts (dict) --

          The artifacts of the analysis source.

          • entryPoint (dict) --

            The entry point for the analysis template artifacts.

            • location (dict) --

              The artifact location.

              • bucket (string) --

                The bucket name.

              • key (string) --

                The object key.

          • additionalArtifacts (list) --

            Additional artifacts for the analysis template.

            • (dict) --

              The analysis template artifact.

              • location (dict) --

                The artifact location.

                • bucket (string) --

                  The bucket name.

                • key (string) --

                  The object key.

          • roleArn (string) --

            The role ARN for the analysis template artifacts.

      • sourceMetadata (dict) --

        The source metadata for the analysis template.

        • artifacts (dict) --

          The artifacts of the analysis source metadata.

          • entryPointHash (dict) --

            The hash of the entry point for the analysis template artifact metadata.

            • sha256 (string) --

              The SHA-256 hash value.

          • additionalArtifactHashes (list) --

            Additional artifact hashes for the analysis template.

            • (dict) --

              Hash

              • sha256 (string) --

                The SHA-256 hash value.

      • analysisParameters (list) --

        The parameters of the analysis template.

        • (dict) --

          Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

          • name (string) --

            The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

          • type (string) --

            The type of parameter.

          • defaultValue (string) --

            Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

      • validations (list) --

        Information about the validations performed on the analysis template.

        • (dict) --

          The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration.

          For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy.

          • type (string) --

            The type of validation that was performed.

          • status (string) --

            The status of the validation.

          • reasons (list) --

            The reasons for the validation results.

            • (dict) --

              The reasons for the validation results.

              • message (string) --

                The validation message.

GetCollaboration (updated) Link ¶
Changes (response)
{'collaboration': {'jobLogStatus': 'ENABLED | DISABLED'}}

Returns metadata about a collaboration.

See also: AWS API Documentation

Request Syntax

client.get_collaboration(
    collaborationIdentifier='string'
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

The identifier for the collaboration.

rtype:

dict

returns:

Response Syntax

{
    'collaboration': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'creatorAccountId': 'string',
        'creatorDisplayName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED',
        'membershipId': 'string',
        'membershipArn': 'string',
        'dataEncryptionMetadata': {
            'allowCleartext': True|False,
            'allowDuplicates': True|False,
            'allowJoinsOnColumnsWithDifferentNames': True|False,
            'preserveNulls': True|False
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL'
    }
}

Response Structure

  • (dict) --

    • collaboration (dict) --

      The entire collaboration for this identifier.

      • id (string) --

        The unique ID for the collaboration.

      • arn (string) --

        The unique ARN for the collaboration.

      • name (string) --

        A human-readable identifier provided by the collaboration owner. Display names are not unique.

      • description (string) --

        A description of the collaboration provided by the collaboration owner.

      • creatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • creatorDisplayName (string) --

        A display name of the collaboration creator.

      • createTime (datetime) --

        The time when the collaboration was created.

      • updateTime (datetime) --

        The time the collaboration metadata was last updated.

      • memberStatus (string) --

        The status of a member in a collaboration.

      • membershipId (string) --

        The unique ID for your membership within the collaboration.

      • membershipArn (string) --

        The unique ARN for your membership within the collaboration.

      • dataEncryptionMetadata (dict) --

        The settings for client-side encryption for cryptographic computing.

        • allowCleartext (boolean) --

          Indicates whether encrypted tables can contain cleartext data ( TRUE) or are to cryptographically process every column ( FALSE).

        • allowDuplicates (boolean) --

          Indicates whether Fingerprint columns can contain duplicate entries ( TRUE) or are to contain only non-repeated values ( FALSE).

        • allowJoinsOnColumnsWithDifferentNames (boolean) --

          Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( TRUE) or can only be joined on Fingerprint columns of the same name ( FALSE).

        • preserveNulls (boolean) --

          Indicates whether NULL values are to be copied as NULL to encrypted tables ( TRUE) or cryptographically processed ( FALSE).

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

GetCollaborationAnalysisTemplate (updated) Link ¶
Changes (response)
{'collaborationAnalysisTemplate': {'format': {'PYSPARK_1_0'},
                                   'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                                                  'key': 'string'}}],
                                                            'entryPoint': {'location': {'bucket': 'string',
                                                                                        'key': 'string'}},
                                                            'roleArn': 'string'}},
                                   'sourceMetadata': {'artifacts': {'additionalArtifactHashes': [{'sha256': 'string'}],
                                                                    'entryPointHash': {'sha256': 'string'}}}}}

Retrieves an analysis template within a collaboration.

See also: AWS API Documentation

Request Syntax

client.get_collaboration_analysis_template(
    collaborationIdentifier='string',
    analysisTemplateArn='string'
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

type analysisTemplateArn:

string

param analysisTemplateArn:

[REQUIRED]

The Amazon Resource Name (ARN) associated with the analysis template within a collaboration.

rtype:

dict

returns:

Response Syntax

{
    'collaborationAnalysisTemplate': {
        'id': 'string',
        'arn': 'string',
        'collaborationId': 'string',
        'collaborationArn': 'string',
        'description': 'string',
        'creatorAccountId': 'string',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'schema': {
            'referencedTables': [
                'string',
            ]
        },
        'format': 'SQL'|'PYSPARK_1_0',
        'source': {
            'text': 'string',
            'artifacts': {
                'entryPoint': {
                    'location': {
                        'bucket': 'string',
                        'key': 'string'
                    }
                },
                'additionalArtifacts': [
                    {
                        'location': {
                            'bucket': 'string',
                            'key': 'string'
                        }
                    },
                ],
                'roleArn': 'string'
            }
        },
        'sourceMetadata': {
            'artifacts': {
                'entryPointHash': {
                    'sha256': 'string'
                },
                'additionalArtifactHashes': [
                    {
                        'sha256': 'string'
                    },
                ]
            }
        },
        'analysisParameters': [
            {
                'name': 'string',
                'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
                'defaultValue': 'string'
            },
        ],
        'validations': [
            {
                'type': 'DIFFERENTIAL_PRIVACY',
                'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE',
                'reasons': [
                    {
                        'message': 'string'
                    },
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • collaborationAnalysisTemplate (dict) --

      The analysis template within a collaboration.

      • id (string) --

        The identifier of the analysis template.

      • arn (string) --

        The Amazon Resource Name (ARN) of the analysis template.

      • collaborationId (string) --

        A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

      • collaborationArn (string) --

        The unique ARN for the analysis template’s associated collaboration.

      • description (string) --

        The description of the analysis template.

      • creatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • name (string) --

        The name of the analysis template.

      • createTime (datetime) --

        The time that the analysis template within a collaboration was created.

      • updateTime (datetime) --

        The time that the analysis template in the collaboration was last updated.

      • schema (dict) --

        The entire schema object.

        • referencedTables (list) --

          The tables referenced in the analysis schema.

          • (string) --

      • format (string) --

        The format of the analysis template in the collaboration.

      • source (dict) --

        The source of the analysis template within a collaboration.

        • text (string) --

          The query text.

        • artifacts (dict) --

          The artifacts of the analysis source.

          • entryPoint (dict) --

            The entry point for the analysis template artifacts.

            • location (dict) --

              The artifact location.

              • bucket (string) --

                The bucket name.

              • key (string) --

                The object key.

          • additionalArtifacts (list) --

            Additional artifacts for the analysis template.

            • (dict) --

              The analysis template artifact.

              • location (dict) --

                The artifact location.

                • bucket (string) --

                  The bucket name.

                • key (string) --

                  The object key.

          • roleArn (string) --

            The role ARN for the analysis template artifacts.

      • sourceMetadata (dict) --

        The source metadata for the collaboration analysis template.

        • artifacts (dict) --

          The artifacts of the analysis source metadata.

          • entryPointHash (dict) --

            The hash of the entry point for the analysis template artifact metadata.

            • sha256 (string) --

              The SHA-256 hash value.

          • additionalArtifactHashes (list) --

            Additional artifact hashes for the analysis template.

            • (dict) --

              Hash

              • sha256 (string) --

                The SHA-256 hash value.

      • analysisParameters (list) --

        The analysis parameters that have been specified in the analysis template.

        • (dict) --

          Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

          • name (string) --

            The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

          • type (string) --

            The type of parameter.

          • defaultValue (string) --

            Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

      • validations (list) --

        The validations that were performed.

        • (dict) --

          The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration.

          For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy.

          • type (string) --

            The type of validation that was performed.

          • status (string) --

            The status of the validation.

          • reasons (list) --

            The reasons for the validation results.

            • (dict) --

              The reasons for the validation results.

              • message (string) --

                The validation message.

GetConfiguredTable (updated) Link ¶
Changes (response)
{'configuredTable': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
                     'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Retrieves a configured table.

See also: AWS API Documentation

Request Syntax

client.get_configured_table(
    configuredTableIdentifier='string'
)
type configuredTableIdentifier:

string

param configuredTableIdentifier:

[REQUIRED]

The unique ID for the configured table to retrieve.

rtype:

dict

returns:

Response Syntax

{
    'configuredTable': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'tableReference': {
            'glue': {
                'tableName': 'string',
                'databaseName': 'string'
            },
            'snowflake': {
                'secretArn': 'string',
                'accountIdentifier': 'string',
                'databaseName': 'string',
                'tableName': 'string',
                'schemaName': 'string',
                'tableSchema': {
                    'v1': [
                        {
                            'columnName': 'string',
                            'columnType': 'string'
                        },
                    ]
                }
            },
            'athena': {
                'workGroup': 'string',
                'outputLocation': 'string',
                'databaseName': 'string',
                'tableName': 'string'
            }
        },
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'analysisRuleTypes': [
            'AGGREGATION'|'LIST'|'CUSTOM',
        ],
        'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
        'allowedColumns': [
            'string',
        ],
        'selectedAnalysisMethods': [
            'DIRECT_QUERY'|'DIRECT_JOB',
        ]
    }
}

Response Structure

  • (dict) --

    • configuredTable (dict) --

      The retrieved configured table.

      • id (string) --

        The unique ID for the configured table.

      • arn (string) --

        The unique ARN for the configured table.

      • name (string) --

        A name for the configured table.

      • description (string) --

        A description for the configured table.

      • tableReference (dict) --

        The table that this configured table represents.

        • glue (dict) --

          If present, a reference to the Glue table referred to by this table reference.

          • tableName (string) --

            The name of the Glue table.

          • databaseName (string) --

            The name of the database the Glue table belongs to.

        • snowflake (dict) --

          If present, a reference to the Snowflake table referred to by this table reference.

          • secretArn (string) --

            The secret ARN of the Snowflake table reference.

          • accountIdentifier (string) --

            The account identifier for the Snowflake table reference.

          • databaseName (string) --

            The name of the database the Snowflake table belongs to.

          • tableName (string) --

            The name of the Snowflake table.

          • schemaName (string) --

            The schema name of the Snowflake table reference.

          • tableSchema (dict) --

            The schema of the Snowflake table.

            • v1 (list) --

              The schema of a Snowflake table.

              • (dict) --

                The Snowflake table schema.

                • columnName (string) --

                  The column name.

                • columnType (string) --

                  The column's data type. Supported data types: ARRAY, BIGINT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, DOUBLE PRECISION, FLOAT, FLOAT4, INT, INTEGER, MAP, NUMERIC, NUMBER, REAL, SMALLINT, STRING, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, TINYINT, VARCHAR, TEXT, CHARACTER.

        • athena (dict) --

          If present, a reference to the Athena table referred to by this table reference.

          • workGroup (string) --

            The workgroup of the Athena table reference.

          • outputLocation (string) --

            The output location for the Athena table.

          • databaseName (string) --

            The database name.

          • tableName (string) --

            The table reference.

      • createTime (datetime) --

        The time the configured table was created.

      • updateTime (datetime) --

        The time the configured table was last updated

      • analysisRuleTypes (list) --

        The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table.

        • (string) --

      • analysisMethod (string) --

        The analysis method for the configured table.

        DIRECT_QUERY allows SQL queries to be run directly on this table.

        DIRECT_JOB allows PySpark jobs to be run directly on this table.

        MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

      • allowedColumns (list) --

        The columns within the underlying Glue table that can be utilized within collaborations.

        • (string) --

      • selectedAnalysisMethods (list) --

        The selected analysis methods for the configured table.

        • (string) --

GetMembership (updated) Link ¶
Changes (response)
{'membership': {'defaultJobResultConfiguration': {'outputConfiguration': {'s3': {'bucket': 'string',
                                                                                 'keyPrefix': 'string'}},
                                                  'roleArn': 'string'},
                'jobLogStatus': 'ENABLED | DISABLED',
                'memberAbilities': {'CAN_RUN_JOB'},
                'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}

Retrieves a specified membership for an identifier.

See also: AWS API Documentation

Request Syntax

client.get_membership(
    membershipIdentifier='string'
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a membership resource.

rtype:

dict

returns:

Response Syntax

{
    'membership': {
        'id': 'string',
        'arn': 'string',
        'collaborationArn': 'string',
        'collaborationId': 'string',
        'collaborationCreatorAccountId': 'string',
        'collaborationCreatorDisplayName': 'string',
        'collaborationName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED',
        'memberAbilities': [
            'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
        ],
        'mlMemberAbilities': {
            'customMLMemberAbilities': [
                'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
            ]
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'defaultJobResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                'isResponsible': True|False
            },
            'machineLearning': {
                'modelTraining': {
                    'isResponsible': True|False
                },
                'modelInference': {
                    'isResponsible': True|False
                }
            },
            'jobCompute': {
                'isResponsible': True|False
            }
        }
    }
}

Response Structure

  • (dict) --

    • membership (dict) --

      The membership retrieved for the provided identifier.

      • id (string) --

        The unique ID of the membership.

      • arn (string) --

        The unique ARN for the membership.

      • collaborationArn (string) --

        The unique ARN for the membership's associated collaboration.

      • collaborationId (string) --

        The unique ID for the membership's collaboration.

      • collaborationCreatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • collaborationCreatorDisplayName (string) --

        The display name of the collaboration creator.

      • collaborationName (string) --

        The name of the membership's collaboration.

      • createTime (datetime) --

        The time when the membership was created.

      • updateTime (datetime) --

        The time the membership metadata was last updated.

      • status (string) --

        The status of the membership.

      • memberAbilities (list) --

        The abilities granted to the collaboration member.

        • (string) --

      • mlMemberAbilities (dict) --

        Specifies the ML member abilities that are granted to a collaboration member.

        • customMLMemberAbilities (list) --

          The custom ML member abilities for a collaboration member.

          • (string) --

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the membership.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • defaultResultConfiguration (dict) --

        The default protected query result configuration as specified by the member who can receive results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          • s3 (dict) --

            Contains the configuration to write the query results to S3.

            • resultFormat (string) --

              Intended file format of the result.

            • bucket (string) --

              The S3 bucket to unload the protected query results.

            • keyPrefix (string) --

              The S3 prefix to unload the protected query results.

            • singleFileOutput (boolean) --

              Indicates whether files should be output as a single file ( TRUE) or output as multiple files ( FALSE). This parameter is only supported for analyses with the Spark analytics engine.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results.

      • defaultJobResultConfiguration (dict) --

        The default job result configuration for the membership.

        • outputConfiguration (dict) --

          The output configuration for a protected job result.

          • s3 (dict) --

            Contains the configuration to write the job results to S3.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results.

      • paymentConfiguration (dict) --

        The payment responsibilities accepted by the collaboration member.

        • queryCompute (dict) --

          The payment responsibilities accepted by the collaboration member for query compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for query compute costs ( TRUE) or has not accepted to pay for query compute costs ( FALSE).

            If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query compute costs.

        • machineLearning (dict) --

          The payment responsibilities accepted by the collaboration member for machine learning costs.

          • modelTraining (dict) --

            The payment responsibilities accepted by the member for model training.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model training costs ( TRUE) or has not accepted to pay for model training costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model training costs.

              • If you set the value to TRUE but you are not responsible to pay for model training costs.

          • modelInference (dict) --

            The payment responsibilities accepted by the member for model inference.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model inference costs ( TRUE) or has not accepted to pay for model inference costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model inference costs.

              • If you set the value to TRUE but you are not responsible to pay for model inference costs.

        • jobCompute (dict) --

          The payment responsibilities accepted by the collaboration member for job compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for job compute costs ( TRUE) or has not accepted to pay for query and job compute costs ( FALSE).

            There is only one member who pays for queries and jobs.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query and job compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query and job compute costs.

GetSchema (updated) Link ¶
Changes (response)
{'schema': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
            'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Retrieves the schema for a relation within a collaboration.

See also: AWS API Documentation

Request Syntax

client.get_schema(
    collaborationIdentifier='string',
    name='string'
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

type name:

string

param name:

[REQUIRED]

The name of the relation to retrieve the schema for.

rtype:

dict

returns:

Response Syntax

{
    'schema': {
        'columns': [
            {
                'name': 'string',
                'type': 'string'
            },
        ],
        'partitionKeys': [
            {
                'name': 'string',
                'type': 'string'
            },
        ],
        'analysisRuleTypes': [
            'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
        ],
        'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
        'selectedAnalysisMethods': [
            'DIRECT_QUERY'|'DIRECT_JOB',
        ],
        'creatorAccountId': 'string',
        'name': 'string',
        'collaborationId': 'string',
        'collaborationArn': 'string',
        'description': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'type': 'TABLE'|'ID_MAPPING_TABLE',
        'schemaStatusDetails': [
            {
                'status': 'READY'|'NOT_READY',
                'reasons': [
                    {
                        'code': 'ANALYSIS_RULE_MISSING'|'ANALYSIS_TEMPLATES_NOT_CONFIGURED'|'ANALYSIS_PROVIDERS_NOT_CONFIGURED'|'DIFFERENTIAL_PRIVACY_POLICY_NOT_CONFIGURED'|'ID_MAPPING_TABLE_NOT_POPULATED'|'COLLABORATION_ANALYSIS_RULE_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_CONFIGURED'|'RESULT_RECEIVERS_NOT_CONFIGURED'|'ADDITIONAL_ANALYSES_NOT_ALLOWED'|'RESULT_RECEIVERS_NOT_ALLOWED'|'ANALYSIS_RULE_TYPES_NOT_COMPATIBLE',
                        'message': 'string'
                    },
                ],
                'analysisRuleType': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
                'configurations': [
                    'DIFFERENTIAL_PRIVACY',
                ],
                'analysisType': 'DIRECT_ANALYSIS'|'ADDITIONAL_ANALYSIS'
            },
        ],
        'schemaTypeProperties': {
            'idMappingTable': {
                'idMappingTableInputSource': [
                    {
                        'idNamespaceAssociationId': 'string',
                        'type': 'SOURCE'|'TARGET'
                    },
                ]
            }
        }
    }
}

Response Structure

  • (dict) --

    • schema (dict) --

      The entire schema object.

      • columns (list) --

        The columns for the relation that this schema represents.

        • (dict) --

          A column within a schema relation, derived from the underlying 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 table.

          • name (string) --

            The name of the column.

          • type (string) --

            The type of the column.

      • analysisRuleTypes (list) --

        The analysis rule types that are associated with the schema. Currently, only one entry is present.

        • (string) --

      • analysisMethod (string) --

        The analysis method for the schema.

        DIRECT_QUERY allows SQL queries to be run directly on this table.

        DIRECT_JOB allows PySpark jobs to be run directly on this table.

        MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

      • selectedAnalysisMethods (list) --

        The selected analysis methods for the schema.

        • (string) --

      • 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 Amazon Resource Name (ARN) for the collaboration that the schema belongs to.

      • description (string) --

        A description for the schema.

      • createTime (datetime) --

        The time at which the schema was created.

      • updateTime (datetime) --

        The most recent time at which the schema was updated.

      • type (string) --

        The type of schema.

      • 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, indicating if it is ready to query.

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

          • analysisType (string) --

            The type of analysis that can be performed on the schema.

            A schema can have an analysisType of DIRECT_ANALYSIS, ADDITIONAL_ANALYSIS_FOR_AUDIENCE_GENERATION, or both.

      • schemaTypeProperties (dict) --

        The schema type properties.

        • idMappingTable (dict) --

          The ID mapping table for the schema type properties.

          • idMappingTableInputSource (list) --

            Defines which ID namespace associations are used to create the ID mapping table.

            • (dict) --

              The input source of the ID mapping table.

              • idNamespaceAssociationId (string) --

                The unique identifier of the ID namespace association.

              • type (string) --

                The type of the input source of the ID mapping table.

GetSchemaAnalysisRule (updated) Link ¶
Changes (response)
{'analysisRule': {'collaborationPolicy': {'v1': {'aggregation': {'allowedAdditionalAnalyses': ['string'],
                                                                 'allowedResultReceivers': ['string']},
                                                 'custom': {'allowedAdditionalAnalyses': ['string'],
                                                            'allowedResultReceivers': ['string']},
                                                 'list': {'allowedAdditionalAnalyses': ['string'],
                                                          'allowedResultReceivers': ['string']}}},
                  'consolidatedPolicy': {'v1': {'aggregation': {'additionalAnalyses': 'ALLOWED '
                                                                                      '| '
                                                                                      'REQUIRED '
                                                                                      '| '
                                                                                      'NOT_ALLOWED',
                                                                'aggregateColumns': [{'columnNames': ['string'],
                                                                                      'function': 'SUM '
                                                                                                  '| '
                                                                                                  'SUM_DISTINCT '
                                                                                                  '| '
                                                                                                  'COUNT '
                                                                                                  '| '
                                                                                                  'COUNT_DISTINCT '
                                                                                                  '| '
                                                                                                  'AVG'}],
                                                                'allowedAdditionalAnalyses': ['string'],
                                                                'allowedJoinOperators': ['OR '
                                                                                         '| '
                                                                                         'AND'],
                                                                'allowedResultReceivers': ['string'],
                                                                'dimensionColumns': ['string'],
                                                                'joinColumns': ['string'],
                                                                'joinRequired': 'QUERY_RUNNER',
                                                                'outputConstraints': [{'columnName': 'string',
                                                                                       'minimum': 'integer',
                                                                                       'type': 'COUNT_DISTINCT'}],
                                                                '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']},
                                                'custom': {'additionalAnalyses': 'ALLOWED '
                                                                                 '| '
                                                                                 'REQUIRED '
                                                                                 '| '
                                                                                 'NOT_ALLOWED',
                                                           'allowedAdditionalAnalyses': ['string'],
                                                           'allowedAnalyses': ['string'],
                                                           'allowedAnalysisProviders': ['string'],
                                                           'allowedResultReceivers': ['string'],
                                                           'differentialPrivacy': {'columns': [{'name': 'string'}]},
                                                           'disallowedOutputColumns': ['string']},
                                                'list': {'additionalAnalyses': 'ALLOWED '
                                                                               '| '
                                                                               'REQUIRED '
                                                                               '| '
                                                                               'NOT_ALLOWED',
                                                         'allowedAdditionalAnalyses': ['string'],
                                                         'allowedJoinOperators': ['OR '
                                                                                  '| '
                                                                                  'AND'],
                                                         'allowedResultReceivers': ['string'],
                                                         'joinColumns': ['string'],
                                                         'listColumns': ['string']}}}}}

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'|'ID_MAPPING_TABLE'
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

type name:

string

param name:

[REQUIRED]

The name of the schema to retrieve the analysis rule for.

type type:

string

param type:

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

rtype:

dict

returns:

Response Syntax

{
    'analysisRule': {
        'collaborationId': 'string',
        'type': 'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'policy': {
            'v1': {
                'list': {
                    'joinColumns': [
                        'string',
                    ],
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'listColumns': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                },
                'aggregation': {
                    'aggregateColumns': [
                        {
                            'columnNames': [
                                'string',
                            ],
                            'function': 'SUM'|'SUM_DISTINCT'|'COUNT'|'COUNT_DISTINCT'|'AVG'
                        },
                    ],
                    'joinColumns': [
                        'string',
                    ],
                    'joinRequired': 'QUERY_RUNNER',
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'dimensionColumns': [
                        'string',
                    ],
                    'scalarFunctions': [
                        'ABS'|'CAST'|'CEILING'|'COALESCE'|'CONVERT'|'CURRENT_DATE'|'DATEADD'|'EXTRACT'|'FLOOR'|'GETDATE'|'LN'|'LOG'|'LOWER'|'ROUND'|'RTRIM'|'SQRT'|'SUBSTRING'|'TO_CHAR'|'TO_DATE'|'TO_NUMBER'|'TO_TIMESTAMP'|'TRIM'|'TRUNC'|'UPPER',
                    ],
                    'outputConstraints': [
                        {
                            'columnName': 'string',
                            'minimum': 123,
                            'type': 'COUNT_DISTINCT'
                        },
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED'
                },
                'custom': {
                    'allowedAnalyses': [
                        'string',
                    ],
                    'allowedAnalysisProviders': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                    'disallowedOutputColumns': [
                        'string',
                    ],
                    'differentialPrivacy': {
                        'columns': [
                            {
                                'name': 'string'
                            },
                        ]
                    }
                },
                'idMappingTable': {
                    'joinColumns': [
                        'string',
                    ],
                    'queryConstraints': [
                        {
                            'requireOverlap': {
                                'columns': [
                                    'string',
                                ]
                            }
                        },
                    ],
                    'dimensionColumns': [
                        'string',
                    ]
                }
            }
        },
        'collaborationPolicy': {
            'v1': {
                'list': {
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        'string',
                    ]
                },
                'aggregation': {
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        'string',
                    ]
                },
                'custom': {
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        'string',
                    ]
                }
            }
        },
        'consolidatedPolicy': {
            'v1': {
                'list': {
                    'joinColumns': [
                        'string',
                    ],
                    'allowedJoinOperators': [
                        'OR'|'AND',
                    ],
                    'listColumns': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        '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'
                        },
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        'string',
                    ]
                },
                'custom': {
                    'allowedAnalyses': [
                        'string',
                    ],
                    'allowedAnalysisProviders': [
                        'string',
                    ],
                    'additionalAnalyses': 'ALLOWED'|'REQUIRED'|'NOT_ALLOWED',
                    'disallowedOutputColumns': [
                        'string',
                    ],
                    'differentialPrivacy': {
                        'columns': [
                            {
                                'name': 'string'
                            },
                        ]
                    },
                    'allowedResultReceivers': [
                        'string',
                    ],
                    'allowedAdditionalAnalyses': [
                        '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) --

            • additionalAnalyses (string) --

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

          • aggregation (dict) --

            Analysis rule type that enables only aggregation queries on a configured table.

            • aggregateColumns (list) --

              The columns that query runners are allowed to use in aggregation queries.

              • (dict) --

                Column in configured table that can be used in aggregate function in query.

                • columnNames (list) --

                  Column names in configured table of aggregate columns.

                  • (string) --

                • function (string) --

                  Aggregation function that can be applied to aggregate column in query.

            • joinColumns (list) --

              Columns in configured table that can be used in join statements and/or as aggregate columns. They can never be outputted directly.

              • (string) --

            • joinRequired (string) --

              Control that requires member who runs query to do a join with their configured table and/or other configured table in query.

            • allowedJoinOperators (list) --

              Which logical operators (if any) are to be used in an INNER JOIN match condition. Default is AND.

              • (string) --

            • dimensionColumns (list) --

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

              • (string) --

            • scalarFunctions (list) --

              Set of scalar functions that are allowed to be used on dimension columns and the output of aggregation of metrics.

              • (string) --

            • outputConstraints (list) --

              Columns that must meet a specific threshold value (after an aggregation function is applied to it) for each output row to be returned.

              • (dict) --

                Constraint on query output removing output rows that do not meet a minimum number of distinct values of a specified column.

                • columnName (string) --

                  Column in aggregation constraint for which there must be a minimum number of distinct values in an output row for it to be in the query output.

                • minimum (integer) --

                  The minimum number of distinct values that an output row must be an aggregation of. Minimum threshold of distinct values for a specified column that must exist in an output row for it to be in the query output.

                • type (string) --

                  The type of aggregation the constraint allows. The only valid value is currently COUNT_DISTINCT.

            • additionalAnalyses (string) --

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

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

          • custom (dict) --

            Analysis rule type that enables custom SQL queries on a configured table.

            • allowedAnalyses (list) --

              The ARN of the analysis templates that are allowed by the custom analysis rule.

              • (string) --

            • allowedAnalysisProviders (list) --

              The IDs of the Amazon Web Services accounts that are allowed to query by the custom analysis rule. Required when allowedAnalyses is ANY_QUERY.

              • (string) --

            • additionalAnalyses (string) --

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

            • disallowedOutputColumns (list) --

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

              • (string) --

            • differentialPrivacy (dict) --

              The differential privacy configuration.

              • columns (list) --

                The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

                • (dict) --

                  Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

                  • name (string) --

                    The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

          • idMappingTable (dict) --

            The ID mapping table.

            • joinColumns (list) --

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

              • (string) --

            • queryConstraints (list) --

              The query constraints of the analysis rule ID mapping table.

              • (dict) --

                Provides any necessary query constraint information.

                • requireOverlap (dict) --

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

                  • columns (list) --

                    The columns that are required to overlap.

                    • (string) --

            • dimensionColumns (list) --

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

              • (string) --

      • collaborationPolicy (dict) --

        Controls on the query specifications that can be run on an associated configured table.

        • v1 (dict) --

          The policy for the configured table association analysis rule.

          • list (dict) --

            Analysis rule type that enables only list queries on a configured table.

            • allowedResultReceivers (list) --

              The list of collaboration members who are allowed to receive results of queries run with this configured table.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

              • (string) --

          • aggregation (dict) --

            Analysis rule type that enables only aggregation queries on a configured table.

            • allowedResultReceivers (list) --

              The list of collaboration members who are allowed to receive results of queries run with this configured table.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

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

              • (string) --

          • custom (dict) --

            Analysis rule type that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

            • allowedResultReceivers (list) --

              The list of collaboration members who are allowed to receive results of queries run with this configured table.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The list of resources or wildcards (ARNs) that are allowed to perform additional analysis on query output.

              • (string) --

      • consolidatedPolicy (dict) --

        The consolidated policy for the analysis rule.

        • v1 (dict) --

          The consolidated policy version 1.

          • list (dict) --

            The list of consolidated policies.

            • joinColumns (list) --

              The columns to join on.

              • (string) --

            • allowedJoinOperators (list) --

              The allowed join operators in the consolidated policy list.

              • (string) --

            • listColumns (list) --

              The columns in the consolidated policy list.

              • (string) --

            • additionalAnalyses (string) --

              Additional analyses for the consolidated policy list.

            • allowedResultReceivers (list) --

              The allowed result receivers.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The additional analyses allowed by the consolidated policy list.

              • (string) --

          • aggregation (dict) --

            The aggregation setting for the consolidated policy.

            • aggregateColumns (list) --

              Aggregate columns in consolidated policy aggregation.

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

              The columns to join on.

              • (string) --

            • joinRequired (string) --

              Join required

            • allowedJoinOperators (list) --

              The allowed join operators.

              • (string) --

            • dimensionColumns (list) --

              The dimension columns of the consolidated policy aggregation.

              • (string) --

            • scalarFunctions (list) --

              The scalar functions.

              • (string) --

            • outputConstraints (list) --

              The output constraints of the consolidated policy aggregation.

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

              Additional analyses for the consolidated policy aggregation.

            • allowedResultReceivers (list) --

              The allowed result receivers.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The additional analyses allowed by the consolidated policy aggregation.

              • (string) --

          • custom (dict) --

            Custom policy

            • allowedAnalyses (list) --

              The allowed analyses.

              • (string) --

            • allowedAnalysisProviders (list) --

              The allowed analysis providers.

              • (string) --

            • additionalAnalyses (string) --

              Additional analyses for the consolidated policy.

            • disallowedOutputColumns (list) --

              Disallowed output columns

              • (string) --

            • differentialPrivacy (dict) --

              Specifies the unique identifier for your users.

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

            • allowedResultReceivers (list) --

              The allowed result receivers.

              • (string) --

            • allowedAdditionalAnalyses (list) --

              The additional analyses allowed by the consolidated policy.

              • (string) --

ListConfiguredTableAssociations (updated) Link ¶
Changes (response)
{'configuredTableAssociationSummaries': {'analysisRuleTypes': ['AGGREGATION | '
                                                               'LIST | '
                                                               'CUSTOM']}}

Lists configured table associations for a membership.

See also: AWS API Documentation

Request Syntax

client.list_configured_table_associations(
    membershipIdentifier='string',
    nextToken='string',
    maxResults=123
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

A unique identifier for the membership to list configured table associations for. Currently accepts the membership ID.

type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

rtype:

dict

returns:

Response Syntax

{
    'configuredTableAssociationSummaries': [
        {
            'configuredTableId': 'string',
            'membershipId': 'string',
            'membershipArn': 'string',
            'name': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'id': 'string',
            'arn': 'string',
            'analysisRuleTypes': [
                'AGGREGATION'|'LIST'|'CUSTOM',
            ]
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • configuredTableAssociationSummaries (list) --

      The retrieved list of configured table associations.

      • (dict) --

        The configured table association summary for the objects listed by the request.

        • configuredTableId (string) --

          The unique configured table ID that this configured table association refers to.

        • membershipId (string) --

          The unique ID for the membership that the configured table association belongs to.

        • membershipArn (string) --

          The unique ARN for the membership that the configured table association belongs to.

        • name (string) --

          The name of the configured table association. The table is identified by this name when running Protected Queries against the underlying data.

        • createTime (datetime) --

          The time the configured table association was created.

        • updateTime (datetime) --

          The time the configured table association was last updated.

        • id (string) --

          The unique ID for the configured table association.

        • arn (string) --

          The unique ARN for the configured table association.

        • analysisRuleTypes (list) --

          The analysis rule types that are associated with the configured table associations in this summary.

          • (string) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

ListConfiguredTables (updated) Link ¶
Changes (response)
{'configuredTableSummaries': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
                              'selectedAnalysisMethods': ['DIRECT_QUERY | '
                                                          'DIRECT_JOB']}}

Lists configured tables.

See also: AWS API Documentation

Request Syntax

client.list_configured_tables(
    nextToken='string',
    maxResults=123
)
type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

rtype:

dict

returns:

Response Syntax

{
    'configuredTableSummaries': [
        {
            'id': 'string',
            'arn': 'string',
            'name': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'analysisRuleTypes': [
                'AGGREGATION'|'LIST'|'CUSTOM',
            ],
            'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
            'selectedAnalysisMethods': [
                'DIRECT_QUERY'|'DIRECT_JOB',
            ]
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • configuredTableSummaries (list) --

      The configured tables listed by the request.

      • (dict) --

        The member of the configured table summary list.

        • id (string) --

          The unique ID of the configured table.

        • arn (string) --

          The unique ARN of the configured table.

        • name (string) --

          The name of the configured table.

        • createTime (datetime) --

          The time the configured table was created.

        • updateTime (datetime) --

          The time the configured table was last updated.

        • analysisRuleTypes (list) --

          The types of analysis rules associated with this configured table.

          • (string) --

        • analysisMethod (string) --

          The analysis method for the configured tables.

          DIRECT_QUERY allows SQL queries to be run directly on this table.

          DIRECT_JOB allows PySpark jobs to be run directly on this table.

          MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

        • selectedAnalysisMethods (list) --

          The selected analysis methods for the configured table summary.

          • (string) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

ListMembers (updated) Link ¶
Changes (response)
{'memberSummaries': {'abilities': {'CAN_RUN_JOB'},
                     'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}

Lists all members within a collaboration.

See also: AWS API Documentation

Request Syntax

client.list_members(
    collaborationIdentifier='string',
    nextToken='string',
    maxResults=123
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

The identifier of the collaboration in which the members are listed.

type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'memberSummaries': [
        {
            'accountId': 'string',
            'status': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED',
            'displayName': 'string',
            'abilities': [
                'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
            ],
            'mlAbilities': {
                'customMLMemberAbilities': [
                    'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
                ]
            },
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'membershipId': 'string',
            'membershipArn': 'string',
            'paymentConfiguration': {
                'queryCompute': {
                    'isResponsible': True|False
                },
                'machineLearning': {
                    'modelTraining': {
                        'isResponsible': True|False
                    },
                    'modelInference': {
                        'isResponsible': True|False
                    }
                },
                'jobCompute': {
                    'isResponsible': True|False
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

    • memberSummaries (list) --

      The list of members returned by the ListMembers operation.

      • (dict) --

        The member object listed by the request.

        • accountId (string) --

          The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

        • status (string) --

          The status of the member.

        • displayName (string) --

          The member's display name.

        • abilities (list) --

          The abilities granted to the collaboration member.

          • (string) --

        • mlAbilities (dict) --

          Provides a summary of the ML abilities for the collaboration member.

          • customMLMemberAbilities (list) --

            The custom ML member abilities for a collaboration member.

            • (string) --

        • createTime (datetime) --

          The time when the member was created.

        • updateTime (datetime) --

          The time the member metadata was last updated.

        • membershipId (string) --

          The unique ID for the member's associated membership, if present.

        • membershipArn (string) --

          The unique ARN for the member's associated membership, if present.

        • paymentConfiguration (dict) --

          The collaboration member's payment responsibilities set by the collaboration creator.

          • queryCompute (dict) --

            The collaboration member's payment responsibilities set by the collaboration creator for query compute costs.

            • isResponsible (boolean) --

              Indicates whether the collaboration creator has configured the collaboration member to pay for query compute costs ( TRUE) or has not configured the collaboration member to pay for query compute costs ( FALSE).

              Exactly one member can be configured to pay for query compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

              If the collaboration creator hasn't specified anyone as the member paying for query compute costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

          • machineLearning (dict) --

            An object representing the collaboration member's machine learning payment responsibilities set by the collaboration creator.

            • modelTraining (dict) --

              The payment responsibilities accepted by the member for model training.

              • isResponsible (boolean) --

                Indicates whether the collaboration creator has configured the collaboration member to pay for model training costs ( TRUE) or has not configured the collaboration member to pay for model training costs ( FALSE).

                Exactly one member can be configured to pay for model training costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

                If the collaboration creator hasn't specified anyone as the member paying for model training costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

            • modelInference (dict) --

              The payment responsibilities accepted by the member for model inference.

              • isResponsible (boolean) --

                Indicates whether the collaboration creator has configured the collaboration member to pay for model inference costs ( TRUE) or has not configured the collaboration member to pay for model inference costs ( FALSE).

                Exactly one member can be configured to pay for model inference costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

                If the collaboration creator hasn't specified anyone as the member paying for model inference costs, then the member who can query is the default payer. An error is returned if the collaboration creator sets a FALSE value for the member who can query.

          • jobCompute (dict) --

            The compute configuration for the job.

            • isResponsible (boolean) --

              Indicates whether the collaboration creator has configured the collaboration member to pay for query and job compute costs ( TRUE) or has not configured the collaboration member to pay for query and job compute costs ( FALSE).

              Exactly one member can be configured to pay for query and job compute costs. An error is returned if the collaboration creator sets a TRUE value for more than one member in the collaboration.

              An error is returned if the collaboration creator sets a FALSE value for the member who can run queries and jobs.

ListMemberships (updated) Link ¶
Changes (response)
{'membershipSummaries': {'memberAbilities': {'CAN_RUN_JOB'},
                         'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}

Lists all memberships resources within the caller's account.

See also: AWS API Documentation

Request Syntax

client.list_memberships(
    nextToken='string',
    maxResults=123,
    status='ACTIVE'|'REMOVED'|'COLLABORATION_DELETED'
)
type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

type status:

string

param status:

A filter which will return only memberships in the specified status.

rtype:

dict

returns:

Response Syntax

{
    'nextToken': 'string',
    'membershipSummaries': [
        {
            'id': 'string',
            'arn': 'string',
            'collaborationArn': 'string',
            'collaborationId': 'string',
            'collaborationCreatorAccountId': 'string',
            'collaborationCreatorDisplayName': 'string',
            'collaborationName': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED',
            'memberAbilities': [
                'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
            ],
            'mlMemberAbilities': {
                'customMLMemberAbilities': [
                    'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
                ]
            },
            'paymentConfiguration': {
                'queryCompute': {
                    'isResponsible': True|False
                },
                'machineLearning': {
                    'modelTraining': {
                        'isResponsible': True|False
                    },
                    'modelInference': {
                        'isResponsible': True|False
                    }
                },
                'jobCompute': {
                    'isResponsible': True|False
                }
            }
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

    • membershipSummaries (list) --

      The list of memberships returned from the ListMemberships operation.

      • (dict) --

        The membership object listed by the request.

        • id (string) --

          The unique ID for the membership's collaboration.

        • arn (string) --

          The unique ARN for the membership.

        • collaborationArn (string) --

          The unique ARN for the membership's associated collaboration.

        • collaborationId (string) --

          The unique ID for the membership's collaboration.

        • collaborationCreatorAccountId (string) --

          The identifier of the Amazon Web Services principal that created the collaboration. Currently only supports Amazon Web Services account ID.

        • collaborationCreatorDisplayName (string) --

          The display name of the collaboration creator.

        • collaborationName (string) --

          The name for the membership's collaboration.

        • createTime (datetime) --

          The time when the membership was created.

        • updateTime (datetime) --

          The time the membership metadata was last updated.

        • status (string) --

          The status of the membership.

        • memberAbilities (list) --

          The abilities granted to the collaboration member.

          • (string) --

        • mlMemberAbilities (dict) --

          Provides a summary of the ML abilities for the collaboration member.

          • customMLMemberAbilities (list) --

            The custom ML member abilities for a collaboration member.

            • (string) --

        • paymentConfiguration (dict) --

          The payment responsibilities accepted by the collaboration member.

          • queryCompute (dict) --

            The payment responsibilities accepted by the collaboration member for query compute costs.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for query compute costs ( TRUE) or has not accepted to pay for query compute costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for query compute costs.

              • If you set the value to TRUE but you are not responsible to pay for query compute costs.

          • machineLearning (dict) --

            The payment responsibilities accepted by the collaboration member for machine learning costs.

            • modelTraining (dict) --

              The payment responsibilities accepted by the member for model training.

              • isResponsible (boolean) --

                Indicates whether the collaboration member has accepted to pay for model training costs ( TRUE) or has not accepted to pay for model training costs ( FALSE).

                If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.

                An error message is returned for the following reasons:

                • If you set the value to FALSE but you are responsible to pay for model training costs.

                • If you set the value to TRUE but you are not responsible to pay for model training costs.

            • modelInference (dict) --

              The payment responsibilities accepted by the member for model inference.

              • isResponsible (boolean) --

                Indicates whether the collaboration member has accepted to pay for model inference costs ( TRUE) or has not accepted to pay for model inference costs ( FALSE).

                If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.

                An error message is returned for the following reasons:

                • If you set the value to FALSE but you are responsible to pay for model inference costs.

                • If you set the value to TRUE but you are not responsible to pay for model inference costs.

          • jobCompute (dict) --

            The payment responsibilities accepted by the collaboration member for job compute costs.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for job compute costs ( TRUE) or has not accepted to pay for query and job compute costs ( FALSE).

              There is only one member who pays for queries and jobs.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for query and job compute costs.

              • If you set the value to TRUE but you are not responsible to pay for query and job compute costs.

ListSchemas (updated) Link ¶
Changes (response)
{'schemaSummaries': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
                     'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Lists the schemas for relations within a collaboration.

See also: AWS API Documentation

Request Syntax

client.list_schemas(
    collaborationIdentifier='string',
    schemaType='TABLE'|'ID_MAPPING_TABLE',
    nextToken='string',
    maxResults=123
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

type schemaType:

string

param schemaType:

If present, filter schemas by schema type.

type nextToken:

string

param nextToken:

The pagination token that's used to fetch the next set of results.

type maxResults:

integer

param maxResults:

The maximum number of results that are returned for an API request call. The service chooses a default number if you don't set one. The service might return a nextToken even if the maxResults value has not been met.

rtype:

dict

returns:

Response Syntax

{
    'schemaSummaries': [
        {
            'name': 'string',
            'type': 'TABLE'|'ID_MAPPING_TABLE',
            'creatorAccountId': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'collaborationId': 'string',
            'collaborationArn': 'string',
            'analysisRuleTypes': [
                'AGGREGATION'|'LIST'|'CUSTOM'|'ID_MAPPING_TABLE',
            ],
            'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
            'selectedAnalysisMethods': [
                'DIRECT_QUERY'|'DIRECT_JOB',
            ]
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • schemaSummaries (list) --

      The retrieved list of schemas.

      • (dict) --

        The schema summary for the objects listed by the request.

        • name (string) --

          The name for the schema object.

        • type (string) --

          The type of schema object.

        • creatorAccountId (string) --

          The unique account ID for the Amazon Web Services account that owns the schema.

        • createTime (datetime) --

          The time the schema object was created.

        • updateTime (datetime) --

          The time the schema object was last updated.

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

        • analysisRuleTypes (list) --

          The types of analysis rules that are associated with this schema object.

          • (string) --

        • analysisMethod (string) --

          The analysis method for the associated schema.

          DIRECT_QUERY allows SQL queries to be run directly on this table.

          DIRECT_JOB allows PySpark jobs to be run directly on this table.

          MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

        • selectedAnalysisMethods (list) --

          The selected analysis methods for the schema.

          • (string) --

    • nextToken (string) --

      The pagination token that's used to fetch the next set of results.

UpdateAnalysisTemplate (updated) Link ¶
Changes (response)
{'analysisTemplate': {'format': {'PYSPARK_1_0'},
                      'source': {'artifacts': {'additionalArtifacts': [{'location': {'bucket': 'string',
                                                                                     'key': 'string'}}],
                                               'entryPoint': {'location': {'bucket': 'string',
                                                                           'key': 'string'}},
                                               'roleArn': 'string'}},
                      'sourceMetadata': {'artifacts': {'additionalArtifactHashes': [{'sha256': 'string'}],
                                                       'entryPointHash': {'sha256': 'string'}}}}}

Updates the analysis template metadata.

See also: AWS API Documentation

Request Syntax

client.update_analysis_template(
    membershipIdentifier='string',
    analysisTemplateIdentifier='string',
    description='string'
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The identifier for a membership resource.

type analysisTemplateIdentifier:

string

param analysisTemplateIdentifier:

[REQUIRED]

The identifier for the analysis template resource.

type description:

string

param description:

A new description for the analysis template.

rtype:

dict

returns:

Response Syntax

{
    'analysisTemplate': {
        'id': 'string',
        'arn': 'string',
        'collaborationId': 'string',
        'collaborationArn': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'description': 'string',
        'name': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'schema': {
            'referencedTables': [
                'string',
            ]
        },
        'format': 'SQL'|'PYSPARK_1_0',
        'source': {
            'text': 'string',
            'artifacts': {
                'entryPoint': {
                    'location': {
                        'bucket': 'string',
                        'key': 'string'
                    }
                },
                'additionalArtifacts': [
                    {
                        'location': {
                            'bucket': 'string',
                            'key': 'string'
                        }
                    },
                ],
                'roleArn': 'string'
            }
        },
        'sourceMetadata': {
            'artifacts': {
                'entryPointHash': {
                    'sha256': 'string'
                },
                'additionalArtifactHashes': [
                    {
                        'sha256': 'string'
                    },
                ]
            }
        },
        'analysisParameters': [
            {
                'name': 'string',
                'type': 'SMALLINT'|'INTEGER'|'BIGINT'|'DECIMAL'|'REAL'|'DOUBLE_PRECISION'|'BOOLEAN'|'CHAR'|'VARCHAR'|'DATE'|'TIMESTAMP'|'TIMESTAMPTZ'|'TIME'|'TIMETZ'|'VARBYTE'|'BINARY'|'BYTE'|'CHARACTER'|'DOUBLE'|'FLOAT'|'INT'|'LONG'|'NUMERIC'|'SHORT'|'STRING'|'TIMESTAMP_LTZ'|'TIMESTAMP_NTZ'|'TINYINT',
                'defaultValue': 'string'
            },
        ],
        'validations': [
            {
                'type': 'DIFFERENTIAL_PRIVACY',
                'status': 'VALID'|'INVALID'|'UNABLE_TO_VALIDATE',
                'reasons': [
                    {
                        'message': 'string'
                    },
                ]
            },
        ]
    }
}

Response Structure

  • (dict) --

    • analysisTemplate (dict) --

      The analysis template.

      • id (string) --

        The identifier for the analysis template.

      • arn (string) --

        The Amazon Resource Name (ARN) of the analysis template.

      • collaborationId (string) --

        The unique ID for the associated collaboration of the analysis template.

      • collaborationArn (string) --

        The unique ARN for the analysis template’s associated collaboration.

      • membershipId (string) --

        The identifier of a member who created the analysis template.

      • membershipArn (string) --

        The Amazon Resource Name (ARN) of the member who created the analysis template.

      • description (string) --

        The description of the analysis template.

      • name (string) --

        The name of the analysis template.

      • createTime (datetime) --

        The time that the analysis template was created.

      • updateTime (datetime) --

        The time that the analysis template was last updated.

      • schema (dict) --

        The entire schema object.

        • referencedTables (list) --

          The tables referenced in the analysis schema.

          • (string) --

      • format (string) --

        The format of the analysis template.

      • source (dict) --

        The source of the analysis template.

        • text (string) --

          The query text.

        • artifacts (dict) --

          The artifacts of the analysis source.

          • entryPoint (dict) --

            The entry point for the analysis template artifacts.

            • location (dict) --

              The artifact location.

              • bucket (string) --

                The bucket name.

              • key (string) --

                The object key.

          • additionalArtifacts (list) --

            Additional artifacts for the analysis template.

            • (dict) --

              The analysis template artifact.

              • location (dict) --

                The artifact location.

                • bucket (string) --

                  The bucket name.

                • key (string) --

                  The object key.

          • roleArn (string) --

            The role ARN for the analysis template artifacts.

      • sourceMetadata (dict) --

        The source metadata for the analysis template.

        • artifacts (dict) --

          The artifacts of the analysis source metadata.

          • entryPointHash (dict) --

            The hash of the entry point for the analysis template artifact metadata.

            • sha256 (string) --

              The SHA-256 hash value.

          • additionalArtifactHashes (list) --

            Additional artifact hashes for the analysis template.

            • (dict) --

              Hash

              • sha256 (string) --

                The SHA-256 hash value.

      • analysisParameters (list) --

        The parameters of the analysis template.

        • (dict) --

          Optional. The member who can query can provide this placeholder for a literal data value in an analysis template.

          • name (string) --

            The name of the parameter. The name must use only alphanumeric, underscore (_), or hyphen (-) characters but cannot start or end with a hyphen.

          • type (string) --

            The type of parameter.

          • defaultValue (string) --

            Optional. The default value that is applied in the analysis template. The member who can query can override this value in the query editor.

      • validations (list) --

        Information about the validations performed on the analysis template.

        • (dict) --

          The status details of the analysis template validation. Clean Rooms Differential Privacy uses a general-purpose query structure to support complex SQL queries and validates whether an analysis template fits that general-purpose query structure. Validation is performed when analysis templates are created and fetched. Because analysis templates are immutable by design, we recommend that you create analysis templates after you associate the configured tables with their analysis rule to your collaboration.

          For more information, see https://docs.aws.amazon.com/clean-rooms/latest/userguide/analysis-rules-custom.html#custom-diff-privacy.

          • type (string) --

            The type of validation that was performed.

          • status (string) --

            The status of the validation.

          • reasons (list) --

            The reasons for the validation results.

            • (dict) --

              The reasons for the validation results.

              • message (string) --

                The validation message.

UpdateCollaboration (updated) Link ¶
Changes (response)
{'collaboration': {'jobLogStatus': 'ENABLED | DISABLED'}}

Updates collaboration metadata and can only be called by the collaboration owner.

See also: AWS API Documentation

Request Syntax

client.update_collaboration(
    collaborationIdentifier='string',
    name='string',
    description='string'
)
type collaborationIdentifier:

string

param collaborationIdentifier:

[REQUIRED]

The identifier for the collaboration.

type name:

string

param name:

A human-readable identifier provided by the collaboration owner. Display names are not unique.

type description:

string

param description:

A description of the collaboration.

rtype:

dict

returns:

Response Syntax

{
    'collaboration': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'creatorAccountId': 'string',
        'creatorDisplayName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED',
        'membershipId': 'string',
        'membershipArn': 'string',
        'dataEncryptionMetadata': {
            'allowCleartext': True|False,
            'allowDuplicates': True|False,
            'allowJoinsOnColumnsWithDifferentNames': True|False,
            'preserveNulls': True|False
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL'
    }
}

Response Structure

  • (dict) --

    • collaboration (dict) --

      The entire collaboration that has been updated.

      • id (string) --

        The unique ID for the collaboration.

      • arn (string) --

        The unique ARN for the collaboration.

      • name (string) --

        A human-readable identifier provided by the collaboration owner. Display names are not unique.

      • description (string) --

        A description of the collaboration provided by the collaboration owner.

      • creatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • creatorDisplayName (string) --

        A display name of the collaboration creator.

      • createTime (datetime) --

        The time when the collaboration was created.

      • updateTime (datetime) --

        The time the collaboration metadata was last updated.

      • memberStatus (string) --

        The status of a member in a collaboration.

      • membershipId (string) --

        The unique ID for your membership within the collaboration.

      • membershipArn (string) --

        The unique ARN for your membership within the collaboration.

      • dataEncryptionMetadata (dict) --

        The settings for client-side encryption for cryptographic computing.

        • allowCleartext (boolean) --

          Indicates whether encrypted tables can contain cleartext data ( TRUE) or are to cryptographically process every column ( FALSE).

        • allowDuplicates (boolean) --

          Indicates whether Fingerprint columns can contain duplicate entries ( TRUE) or are to contain only non-repeated values ( FALSE).

        • allowJoinsOnColumnsWithDifferentNames (boolean) --

          Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name ( TRUE) or can only be joined on Fingerprint columns of the same name ( FALSE).

        • preserveNulls (boolean) --

          Indicates whether NULL values are to be copied as NULL to encrypted tables ( TRUE) or cryptographically processed ( FALSE).

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

UpdateConfiguredTable (updated) Link ¶
Changes (request, response)
Request
{'analysisMethod': 'DIRECT_QUERY | DIRECT_JOB | MULTIPLE',
 'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}
Response
{'configuredTable': {'analysisMethod': {'DIRECT_JOB', 'MULTIPLE'},
                     'selectedAnalysisMethods': ['DIRECT_QUERY | DIRECT_JOB']}}

Updates a configured table.

See also: AWS API Documentation

Request Syntax

client.update_configured_table(
    configuredTableIdentifier='string',
    name='string',
    description='string',
    analysisMethod='DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
    selectedAnalysisMethods=[
        'DIRECT_QUERY'|'DIRECT_JOB',
    ]
)
type configuredTableIdentifier:

string

param configuredTableIdentifier:

[REQUIRED]

The identifier for the configured table to update. Currently accepts the configured table ID.

type name:

string

param name:

A new name for the configured table.

type description:

string

param description:

A new description for the configured table.

type analysisMethod:

string

param analysisMethod:

The analysis method for the configured table.

DIRECT_QUERY allows SQL queries to be run directly on this table.

DIRECT_JOB allows PySpark jobs to be run directly on this table.

MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

type selectedAnalysisMethods:

list

param selectedAnalysisMethods:

The selected analysis methods for the table configuration update.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'configuredTable': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'description': 'string',
        'tableReference': {
            'glue': {
                'tableName': 'string',
                'databaseName': 'string'
            },
            'snowflake': {
                'secretArn': 'string',
                'accountIdentifier': 'string',
                'databaseName': 'string',
                'tableName': 'string',
                'schemaName': 'string',
                'tableSchema': {
                    'v1': [
                        {
                            'columnName': 'string',
                            'columnType': 'string'
                        },
                    ]
                }
            },
            'athena': {
                'workGroup': 'string',
                'outputLocation': 'string',
                'databaseName': 'string',
                'tableName': 'string'
            }
        },
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'analysisRuleTypes': [
            'AGGREGATION'|'LIST'|'CUSTOM',
        ],
        'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
        'allowedColumns': [
            'string',
        ],
        'selectedAnalysisMethods': [
            'DIRECT_QUERY'|'DIRECT_JOB',
        ]
    }
}

Response Structure

  • (dict) --

    • configuredTable (dict) --

      The updated configured table.

      • id (string) --

        The unique ID for the configured table.

      • arn (string) --

        The unique ARN for the configured table.

      • name (string) --

        A name for the configured table.

      • description (string) --

        A description for the configured table.

      • tableReference (dict) --

        The table that this configured table represents.

        • glue (dict) --

          If present, a reference to the Glue table referred to by this table reference.

          • tableName (string) --

            The name of the Glue table.

          • databaseName (string) --

            The name of the database the Glue table belongs to.

        • snowflake (dict) --

          If present, a reference to the Snowflake table referred to by this table reference.

          • secretArn (string) --

            The secret ARN of the Snowflake table reference.

          • accountIdentifier (string) --

            The account identifier for the Snowflake table reference.

          • databaseName (string) --

            The name of the database the Snowflake table belongs to.

          • tableName (string) --

            The name of the Snowflake table.

          • schemaName (string) --

            The schema name of the Snowflake table reference.

          • tableSchema (dict) --

            The schema of the Snowflake table.

            • v1 (list) --

              The schema of a Snowflake table.

              • (dict) --

                The Snowflake table schema.

                • columnName (string) --

                  The column name.

                • columnType (string) --

                  The column's data type. Supported data types: ARRAY, BIGINT, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, DOUBLE PRECISION, FLOAT, FLOAT4, INT, INTEGER, MAP, NUMERIC, NUMBER, REAL, SMALLINT, STRING, TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, DATETIME, TINYINT, VARCHAR, TEXT, CHARACTER.

        • athena (dict) --

          If present, a reference to the Athena table referred to by this table reference.

          • workGroup (string) --

            The workgroup of the Athena table reference.

          • outputLocation (string) --

            The output location for the Athena table.

          • databaseName (string) --

            The database name.

          • tableName (string) --

            The table reference.

      • createTime (datetime) --

        The time the configured table was created.

      • updateTime (datetime) --

        The time the configured table was last updated

      • analysisRuleTypes (list) --

        The types of analysis rules associated with this configured table. Currently, only one analysis rule may be associated with a configured table.

        • (string) --

      • analysisMethod (string) --

        The analysis method for the configured table.

        DIRECT_QUERY allows SQL queries to be run directly on this table.

        DIRECT_JOB allows PySpark jobs to be run directly on this table.

        MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table.

      • allowedColumns (list) --

        The columns within the underlying Glue table that can be utilized within collaborations.

        • (string) --

      • selectedAnalysisMethods (list) --

        The selected analysis methods for the configured table.

        • (string) --

UpdateMembership (updated) Link ¶
Changes (request, response)
Request
{'defaultJobResultConfiguration': {'outputConfiguration': {'s3': {'bucket': 'string',
                                                                  'keyPrefix': 'string'}},
                                   'roleArn': 'string'},
 'jobLogStatus': 'ENABLED | DISABLED'}
Response
{'membership': {'defaultJobResultConfiguration': {'outputConfiguration': {'s3': {'bucket': 'string',
                                                                                 'keyPrefix': 'string'}},
                                                  'roleArn': 'string'},
                'jobLogStatus': 'ENABLED | DISABLED',
                'memberAbilities': {'CAN_RUN_JOB'},
                'paymentConfiguration': {'jobCompute': {'isResponsible': 'boolean'}}}}

Updates a membership.

See also: AWS API Documentation

Request Syntax

client.update_membership(
    membershipIdentifier='string',
    queryLogStatus='ENABLED'|'DISABLED',
    jobLogStatus='ENABLED'|'DISABLED',
    defaultResultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string',
                'singleFileOutput': True|False
            }
        },
        'roleArn': 'string'
    },
    defaultJobResultConfiguration={
        'outputConfiguration': {
            's3': {
                'bucket': 'string',
                'keyPrefix': 'string'
            }
        },
        'roleArn': 'string'
    }
)
type membershipIdentifier:

string

param membershipIdentifier:

[REQUIRED]

The unique identifier of the membership.

type queryLogStatus:

string

param queryLogStatus:

An indicator as to whether query logging has been enabled or disabled for the membership.

When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type jobLogStatus:

string

param jobLogStatus:

An indicator as to whether job logging has been enabled or disabled for the collaboration.

When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

type defaultResultConfiguration:

dict

param defaultResultConfiguration:

The default protected query result configuration as specified by the member who can receive results.

  • outputConfiguration (dict) -- [REQUIRED]

    Configuration for protected query results.

    • s3 (dict) --

      Contains the configuration to write the query results to S3.

      • resultFormat (string) -- [REQUIRED]

        Intended file format of the result.

      • bucket (string) -- [REQUIRED]

        The S3 bucket to unload the protected query results.

      • keyPrefix (string) --

        The S3 prefix to unload the protected query results.

      • singleFileOutput (boolean) --

        Indicates whether files should be output as a single file ( TRUE) or output as multiple files ( FALSE). This parameter is only supported for analyses with the Spark analytics engine.

  • roleArn (string) --

    The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results.

type defaultJobResultConfiguration:

dict

param defaultJobResultConfiguration:

The default job result configuration.

  • outputConfiguration (dict) -- [REQUIRED]

    The output configuration for a protected job result.

    • s3 (dict) --

      Contains the configuration to write the job results to S3.

      • bucket (string) -- [REQUIRED]

        The S3 bucket for job output.

      • keyPrefix (string) --

        The S3 prefix to unload the protected job results.

  • roleArn (string) -- [REQUIRED]

    The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results.

rtype:

dict

returns:

Response Syntax

{
    'membership': {
        'id': 'string',
        'arn': 'string',
        'collaborationArn': 'string',
        'collaborationId': 'string',
        'collaborationCreatorAccountId': 'string',
        'collaborationCreatorDisplayName': 'string',
        'collaborationName': 'string',
        'createTime': datetime(2015, 1, 1),
        'updateTime': datetime(2015, 1, 1),
        'status': 'ACTIVE'|'REMOVED'|'COLLABORATION_DELETED',
        'memberAbilities': [
            'CAN_QUERY'|'CAN_RECEIVE_RESULTS'|'CAN_RUN_JOB',
        ],
        'mlMemberAbilities': {
            'customMLMemberAbilities': [
                'CAN_RECEIVE_MODEL_OUTPUT'|'CAN_RECEIVE_INFERENCE_OUTPUT',
            ]
        },
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'jobLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'defaultJobResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'bucket': 'string',
                    'keyPrefix': 'string'
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                'isResponsible': True|False
            },
            'machineLearning': {
                'modelTraining': {
                    'isResponsible': True|False
                },
                'modelInference': {
                    'isResponsible': True|False
                }
            },
            'jobCompute': {
                'isResponsible': True|False
            }
        }
    }
}

Response Structure

  • (dict) --

    • membership (dict) --

      The membership object.

      • id (string) --

        The unique ID of the membership.

      • arn (string) --

        The unique ARN for the membership.

      • collaborationArn (string) --

        The unique ARN for the membership's associated collaboration.

      • collaborationId (string) --

        The unique ID for the membership's collaboration.

      • collaborationCreatorAccountId (string) --

        The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

      • collaborationCreatorDisplayName (string) --

        The display name of the collaboration creator.

      • collaborationName (string) --

        The name of the membership's collaboration.

      • createTime (datetime) --

        The time when the membership was created.

      • updateTime (datetime) --

        The time the membership metadata was last updated.

      • status (string) --

        The status of the membership.

      • memberAbilities (list) --

        The abilities granted to the collaboration member.

        • (string) --

      • mlMemberAbilities (dict) --

        Specifies the ML member abilities that are granted to a collaboration member.

        • customMLMemberAbilities (list) --

          The custom ML member abilities for a collaboration member.

          • (string) --

      • queryLogStatus (string) --

        An indicator as to whether query logging has been enabled or disabled for the membership.

        When ENABLED, Clean Rooms logs details about queries run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • jobLogStatus (string) --

        An indicator as to whether job logging has been enabled or disabled for the collaboration.

        When ENABLED, Clean Rooms logs details about jobs run within this collaboration and those logs can be viewed in Amazon CloudWatch Logs. The default value is DISABLED.

      • defaultResultConfiguration (dict) --

        The default protected query result configuration as specified by the member who can receive results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          • s3 (dict) --

            Contains the configuration to write the query results to S3.

            • resultFormat (string) --

              Intended file format of the result.

            • bucket (string) --

              The S3 bucket to unload the protected query results.

            • keyPrefix (string) --

              The S3 prefix to unload the protected query results.

            • singleFileOutput (boolean) --

              Indicates whether files should be output as a single file ( TRUE) or output as multiple files ( FALSE). This parameter is only supported for analyses with the Spark analytics engine.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected query results to the result location, given by the member who can receive results.

      • defaultJobResultConfiguration (dict) --

        The default job result configuration for the membership.

        • outputConfiguration (dict) --

          The output configuration for a protected job result.

          • s3 (dict) --

            Contains the configuration to write the job results to S3.

            • bucket (string) --

              The S3 bucket for job output.

            • keyPrefix (string) --

              The S3 prefix to unload the protected job results.

        • roleArn (string) --

          The unique ARN for an IAM role that is used by Clean Rooms to write protected job results to the result location, given by the member who can receive results.

      • paymentConfiguration (dict) --

        The payment responsibilities accepted by the collaboration member.

        • queryCompute (dict) --

          The payment responsibilities accepted by the collaboration member for query compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for query compute costs ( TRUE) or has not accepted to pay for query compute costs ( FALSE).

            If the collaboration creator has not specified anyone to pay for query compute costs, then the member who can query is the default payer.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query compute costs.

        • machineLearning (dict) --

          The payment responsibilities accepted by the collaboration member for machine learning costs.

          • modelTraining (dict) --

            The payment responsibilities accepted by the member for model training.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model training costs ( TRUE) or has not accepted to pay for model training costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model training costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model training costs.

              • If you set the value to TRUE but you are not responsible to pay for model training costs.

          • modelInference (dict) --

            The payment responsibilities accepted by the member for model inference.

            • isResponsible (boolean) --

              Indicates whether the collaboration member has accepted to pay for model inference costs ( TRUE) or has not accepted to pay for model inference costs ( FALSE).

              If the collaboration creator has not specified anyone to pay for model inference costs, then the member who can query is the default payer.

              An error message is returned for the following reasons:

              • If you set the value to FALSE but you are responsible to pay for model inference costs.

              • If you set the value to TRUE but you are not responsible to pay for model inference costs.

        • jobCompute (dict) --

          The payment responsibilities accepted by the collaboration member for job compute costs.

          • isResponsible (boolean) --

            Indicates whether the collaboration member has accepted to pay for job compute costs ( TRUE) or has not accepted to pay for query and job compute costs ( FALSE).

            There is only one member who pays for queries and jobs.

            An error message is returned for the following reasons:

            • If you set the value to FALSE but you are responsible to pay for query and job compute costs.

            • If you set the value to TRUE but you are not responsible to pay for query and job compute costs.