AWS Clean Rooms Service

2024/10/29 - AWS Clean Rooms Service - 15 updated api methods

Changes  This release adds the option for customers to configure analytics engine when creating a collaboration, and introduces the new SPARK analytics engine type in addition to maintaining the legacy CLEAN_ROOMS_SQL engine type.

BatchGetCollaborationAnalysisTemplate (updated) Link ¶
Changes (response)
{'collaborationAnalysisTemplates': {'analysisParameters': {'type': {'BINARY',
                                                                    'BYTE',
                                                                    'CHARACTER',
                                                                    'DOUBLE',
                                                                    'FLOAT',
                                                                    'INT',
                                                                    'LONG',
                                                                    'NUMERIC',
                                                                    'SHORT',
                                                                    'STRING',
                                                                    'TIMESTAMP_LTZ',
                                                                    'TIMESTAMP_NTZ',
                                                                    'TINYINT'}}}}

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',
            'source': {
                'text': '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.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • text (string) --

            The query text.

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

CreateAnalysisTemplate (updated) Link ¶
Changes (request, response)
Request
{'analysisParameters': {'type': {'BINARY',
                                 'BYTE',
                                 'CHARACTER',
                                 'DOUBLE',
                                 'FLOAT',
                                 'INT',
                                 'LONG',
                                 'NUMERIC',
                                 'SHORT',
                                 'STRING',
                                 'TIMESTAMP_LTZ',
                                 'TIMESTAMP_NTZ',
                                 'TINYINT'}}}
Response
{'analysisTemplate': {'analysisParameters': {'type': {'BINARY',
                                                      'BYTE',
                                                      'CHARACTER',
                                                      'DOUBLE',
                                                      'FLOAT',
                                                      'INT',
                                                      'LONG',
                                                      'NUMERIC',
                                                      'SHORT',
                                                      'STRING',
                                                      'TIMESTAMP_LTZ',
                                                      'TIMESTAMP_NTZ',
                                                      'TINYINT'}}}}

Creates a new analysis template.

See also: AWS API Documentation

Request Syntax

client.create_analysis_template(
    description='string',
    membershipIdentifier='string',
    name='string',
    format='SQL',
    source={
        'text': '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'
        },
    ]
)
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.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: text.

  • text (string) --

    The query text.

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.

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',
        'source': {
            'text': '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.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • text (string) --

          The query text.

      • 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
{'analyticsEngine': 'SPARK | CLEAN_ROOMS_SQL'}
Response
{'collaboration': {'analyticsEngine': 'SPARK | CLEAN_ROOMS_SQL'}}

Creates a new collaboration.

See also: AWS API Documentation

Request Syntax

client.create_collaboration(
    members=[
        {
            'accountId': 'string',
            'memberAbilities': [
                'CAN_QUERY'|'CAN_RECEIVE_RESULTS',
            ],
            'displayName': 'string',
            'paymentConfiguration': {
                'queryCompute': {
                    'isResponsible': True|False
                }
            }
        },
    ],
    name='string',
    description='string',
    creatorMemberAbilities=[
        'CAN_QUERY'|'CAN_RECEIVE_RESULTS',
    ],
    creatorDisplayName='string',
    dataEncryptionMetadata={
        'allowCleartext': True|False,
        'allowDuplicates': True|False,
        'allowJoinsOnColumnsWithDifferentNames': True|False,
        'preserveNulls': True|False
    },
    queryLogStatus='ENABLED'|'DISABLED',
    tags={
        'string': 'string'
    },
    creatorPaymentConfiguration={
        'queryCompute': {
            '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) --

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

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

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.

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

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

CreateMembership (updated) Link ¶
Changes (request, response)
Request
{'defaultResultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}}}
Response
{'membership': {'defaultResultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': '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',
    tags={
        'string': 'string'
    },
    defaultResultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string',
                'singleFileOutput': True|False
            }
        },
        'roleArn': 'string'
    },
    paymentConfiguration={
        'queryCompute': {
            '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.

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.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: s3.

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

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',
        ],
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                '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) --

      • queryLogStatus (string) --

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

      • defaultResultConfiguration (dict) --

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

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • 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.

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

GetAnalysisTemplate (updated) Link ¶
Changes (response)
{'analysisTemplate': {'analysisParameters': {'type': {'BINARY',
                                                      'BYTE',
                                                      'CHARACTER',
                                                      'DOUBLE',
                                                      'FLOAT',
                                                      'INT',
                                                      'LONG',
                                                      'NUMERIC',
                                                      'SHORT',
                                                      'STRING',
                                                      'TIMESTAMP_LTZ',
                                                      'TIMESTAMP_NTZ',
                                                      'TINYINT'}}}}

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',
        'source': {
            'text': '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.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • text (string) --

          The query text.

      • 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': {'analyticsEngine': 'SPARK | CLEAN_ROOMS_SQL'}}

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

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

GetCollaborationAnalysisTemplate (updated) Link ¶
Changes (response)
{'collaborationAnalysisTemplate': {'analysisParameters': {'type': {'BINARY',
                                                                   'BYTE',
                                                                   'CHARACTER',
                                                                   'DOUBLE',
                                                                   'FLOAT',
                                                                   'INT',
                                                                   'LONG',
                                                                   'NUMERIC',
                                                                   'SHORT',
                                                                   'STRING',
                                                                   'TIMESTAMP_LTZ',
                                                                   'TIMESTAMP_NTZ',
                                                                   'TINYINT'}}}}

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',
        'source': {
            'text': '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.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • text (string) --

          The query text.

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

GetMembership (updated) Link ¶
Changes (response)
{'membership': {'defaultResultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': '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',
        ],
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                '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) --

      • queryLogStatus (string) --

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

      • defaultResultConfiguration (dict) --

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

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • 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.

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

GetProtectedQuery (updated) Link ¶
Changes (response)
{'protectedQuery': {'computeConfiguration': {'worker': {'number': 'integer',
                                                        'type': 'CR.1X | '
                                                                'CR.4X'}},
                    'resultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}},
                    'statistics': {'billedResourceUtilization': {'units': 'double'}}}}

Returns query processing metadata.

See also: AWS API Documentation

Request Syntax

client.get_protected_query(
    membershipIdentifier='string',
    protectedQueryIdentifier='string'
)
type membershipIdentifier

string

param membershipIdentifier

[REQUIRED]

The identifier for a membership in a protected query instance.

type protectedQueryIdentifier

string

param protectedQueryIdentifier

[REQUIRED]

The identifier for a protected query instance.

rtype

dict

returns

Response Syntax

{
    'protectedQuery': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'sqlParameters': {
            'queryString': 'string',
            'analysisTemplateArn': 'string',
            'parameters': {
                'string': 'string'
            }
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        },
        'differentialPrivacy': {
            'sensitivityParameters': [
                {
                    'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV',
                    'aggregationExpression': 'string',
                    'userContributionLimit': 123,
                    'minColumnValue': ...,
                    'maxColumnValue': ...
                },
            ]
        },
        'computeConfiguration': {
            'worker': {
                'type': 'CR.1X'|'CR.4X',
                'number': 123
            }
        }
    }
}

Response Structure

  • (dict) --

    • protectedQuery (dict) --

      The query processing metadata.

      • id (string) --

        The identifier for a protected query instance.

      • membershipId (string) --

        The identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The time at which the protected query was created.

      • sqlParameters (dict) --

        The protected query SQL parameters.

        • queryString (string) --

          The query string to be submitted.

        • analysisTemplateArn (string) --

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

        • parameters (dict) --

          The protected query SQL parameters.

          • (string) --

            • (string) --

      • status (string) --

        The status of the query.

      • resultConfiguration (dict) --

        Contains any details needed to write the query results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, member. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

            Required configuration for a protected query with an s3 output type.

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

          • member (dict) --

            Required configuration for a protected query with a member output type.

            • accountId (string) --

              The unique identifier for the account.

      • statistics (dict) --

        Statistics about protected query execution.

        • totalDurationInMillis (integer) --

          The duration of the protected query, from creation until query completion.

        • billedResourceUtilization (dict) --

          The billed resource utilization.

          • units (float) --

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

      • result (dict) --

        The result of the protected query.

        • output (dict) --

          The output of the protected query.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, memberList. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

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

            • location (string) --

              The S3 location of the result.

          • memberList (list) --

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

            • (dict) --

              Details about the member who received the query result.

              • accountId (string) --

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

      • error (dict) --

        An error thrown by the protected query.

        • message (string) --

          A description of why the query failed.

        • code (string) --

          An error code for the error.

      • differentialPrivacy (dict) --

        The sensitivity parameters of the differential privacy results of the protected query.

        • sensitivityParameters (list) --

          Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results.

          • (dict) --

            Provides the sensitivity parameters.

            • aggregationType (string) --

              The type of aggregation function that was run.

            • aggregationExpression (string) --

              The aggregation expression that was run.

            • userContributionLimit (integer) --

              The maximum number of rows contributed by a user in a SQL query.

            • minColumnValue (float) --

              The lower bound of the aggregation expression.

            • maxColumnValue (float) --

              The upper bound of the aggregation expression.

      • computeConfiguration (dict) --

        The compute configuration for the protected query.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: worker. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • worker (dict) --

          The worker configuration for the compute environment.

          • type (string) --

            The worker compute configuration type.

          • number (integer) --

            The number of workers.

ListCollaborations (updated) Link ¶
Changes (response)
{'collaborationList': {'analyticsEngine': 'SPARK | CLEAN_ROOMS_SQL'}}

Lists collaborations the caller owns, is active in, or has been invited to.

See also: AWS API Documentation

Request Syntax

client.list_collaborations(
    nextToken='string',
    maxResults=123,
    memberStatus='INVITED'|'ACTIVE'
)
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 memberStatus

string

param memberStatus

The caller's status in a collaboration.

rtype

dict

returns

Response Syntax

{
    'nextToken': 'string',
    'collaborationList': [
        {
            'id': 'string',
            'arn': 'string',
            'name': 'string',
            'creatorAccountId': 'string',
            'creatorDisplayName': 'string',
            'createTime': datetime(2015, 1, 1),
            'updateTime': datetime(2015, 1, 1),
            'memberStatus': 'INVITED'|'ACTIVE'|'LEFT'|'REMOVED',
            'membershipId': 'string',
            'membershipArn': 'string',
            'analyticsEngine': 'SPARK'|'CLEAN_ROOMS_SQL'
        },
    ]
}

Response Structure

  • (dict) --

    • nextToken (string) --

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

    • collaborationList (list) --

      The list of collaborations.

      • (dict) --

        The metadata of the collaboration.

        • id (string) --

          The identifier for the collaboration.

        • arn (string) --

          The ARN of the collaboration.

        • name (string) --

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

        • creatorAccountId (string) --

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

        • creatorDisplayName (string) --

          The 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 identifier of a member in a collaboration.

        • membershipArn (string) --

          The ARN of a member in a collaboration.

        • analyticsEngine (string) --

          The analytics engine.

StartProtectedQuery (updated) Link ¶
Changes (request, response)
Request
{'computeConfiguration': {'worker': {'number': 'integer',
                                     'type': 'CR.1X | CR.4X'}},
 'resultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}}}
Response
{'protectedQuery': {'computeConfiguration': {'worker': {'number': 'integer',
                                                        'type': 'CR.1X | '
                                                                'CR.4X'}},
                    'resultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}},
                    'statistics': {'billedResourceUtilization': {'units': 'double'}}}}

Creates a protected query that is started by Clean Rooms.

See also: AWS API Documentation

Request Syntax

client.start_protected_query(
    type='SQL',
    membershipIdentifier='string',
    sqlParameters={
        'queryString': 'string',
        'analysisTemplateArn': 'string',
        'parameters': {
            'string': 'string'
        }
    },
    resultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string',
                'singleFileOutput': True|False
            },
            'member': {
                'accountId': 'string'
            }
        }
    },
    computeConfiguration={
        'worker': {
            'type': 'CR.1X'|'CR.4X',
            'number': 123
        }
    }
)
type type

string

param type

[REQUIRED]

The type of the protected query to be started.

type membershipIdentifier

string

param membershipIdentifier

[REQUIRED]

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

type sqlParameters

dict

param sqlParameters

[REQUIRED]

The protected SQL query parameters.

  • queryString (string) --

    The query string to be submitted.

  • analysisTemplateArn (string) --

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

  • parameters (dict) --

    The protected query SQL parameters.

    • (string) --

      • (string) --

type resultConfiguration

dict

param resultConfiguration

The details needed to write the query results.

  • outputConfiguration (dict) -- [REQUIRED]

    Configuration for protected query results.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: s3, member.

    • s3 (dict) --

      Required configuration for a protected query with an s3 output type.

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

    • member (dict) --

      Required configuration for a protected query with a member output type.

      • accountId (string) -- [REQUIRED]

        The unique identifier for the account.

type computeConfiguration

dict

param computeConfiguration

The compute configuration for the protected query.

Note

This is a Tagged Union structure. Only one of the following top level keys can be set: worker.

  • worker (dict) --

    The worker configuration for the compute environment.

    • type (string) --

      The worker compute configuration type.

    • number (integer) --

      The number of workers.

rtype

dict

returns

Response Syntax

{
    'protectedQuery': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'sqlParameters': {
            'queryString': 'string',
            'analysisTemplateArn': 'string',
            'parameters': {
                'string': 'string'
            }
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        },
        'differentialPrivacy': {
            'sensitivityParameters': [
                {
                    'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV',
                    'aggregationExpression': 'string',
                    'userContributionLimit': 123,
                    'minColumnValue': ...,
                    'maxColumnValue': ...
                },
            ]
        },
        'computeConfiguration': {
            'worker': {
                'type': 'CR.1X'|'CR.4X',
                'number': 123
            }
        }
    }
}

Response Structure

  • (dict) --

    • protectedQuery (dict) --

      The protected query.

      • id (string) --

        The identifier for a protected query instance.

      • membershipId (string) --

        The identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The time at which the protected query was created.

      • sqlParameters (dict) --

        The protected query SQL parameters.

        • queryString (string) --

          The query string to be submitted.

        • analysisTemplateArn (string) --

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

        • parameters (dict) --

          The protected query SQL parameters.

          • (string) --

            • (string) --

      • status (string) --

        The status of the query.

      • resultConfiguration (dict) --

        Contains any details needed to write the query results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, member. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

            Required configuration for a protected query with an s3 output type.

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

          • member (dict) --

            Required configuration for a protected query with a member output type.

            • accountId (string) --

              The unique identifier for the account.

      • statistics (dict) --

        Statistics about protected query execution.

        • totalDurationInMillis (integer) --

          The duration of the protected query, from creation until query completion.

        • billedResourceUtilization (dict) --

          The billed resource utilization.

          • units (float) --

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

      • result (dict) --

        The result of the protected query.

        • output (dict) --

          The output of the protected query.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, memberList. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

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

            • location (string) --

              The S3 location of the result.

          • memberList (list) --

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

            • (dict) --

              Details about the member who received the query result.

              • accountId (string) --

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

      • error (dict) --

        An error thrown by the protected query.

        • message (string) --

          A description of why the query failed.

        • code (string) --

          An error code for the error.

      • differentialPrivacy (dict) --

        The sensitivity parameters of the differential privacy results of the protected query.

        • sensitivityParameters (list) --

          Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results.

          • (dict) --

            Provides the sensitivity parameters.

            • aggregationType (string) --

              The type of aggregation function that was run.

            • aggregationExpression (string) --

              The aggregation expression that was run.

            • userContributionLimit (integer) --

              The maximum number of rows contributed by a user in a SQL query.

            • minColumnValue (float) --

              The lower bound of the aggregation expression.

            • maxColumnValue (float) --

              The upper bound of the aggregation expression.

      • computeConfiguration (dict) --

        The compute configuration for the protected query.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: worker. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • worker (dict) --

          The worker configuration for the compute environment.

          • type (string) --

            The worker compute configuration type.

          • number (integer) --

            The number of workers.

UpdateAnalysisTemplate (updated) Link ¶
Changes (response)
{'analysisTemplate': {'analysisParameters': {'type': {'BINARY',
                                                      'BYTE',
                                                      'CHARACTER',
                                                      'DOUBLE',
                                                      'FLOAT',
                                                      'INT',
                                                      'LONG',
                                                      'NUMERIC',
                                                      'SHORT',
                                                      'STRING',
                                                      'TIMESTAMP_LTZ',
                                                      'TIMESTAMP_NTZ',
                                                      'TINYINT'}}}}

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',
        'source': {
            'text': '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.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: text. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • text (string) --

          The query text.

      • 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': {'analyticsEngine': 'SPARK | CLEAN_ROOMS_SQL'}}

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

      • analyticsEngine (string) --

        The analytics engine for the collaboration.

UpdateMembership (updated) Link ¶
Changes (request, response)
Request
{'defaultResultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}}}
Response
{'membership': {'defaultResultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}}}}

Updates a membership.

See also: AWS API Documentation

Request Syntax

client.update_membership(
    membershipIdentifier='string',
    queryLogStatus='ENABLED'|'DISABLED',
    defaultResultConfiguration={
        'outputConfiguration': {
            's3': {
                'resultFormat': 'CSV'|'PARQUET',
                'bucket': 'string',
                'keyPrefix': 'string',
                'singleFileOutput': True|False
            }
        },
        '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.

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.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: s3.

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

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',
        ],
        'queryLogStatus': 'ENABLED'|'DISABLED',
        'defaultResultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                }
            },
            'roleArn': 'string'
        },
        'paymentConfiguration': {
            'queryCompute': {
                '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) --

      • queryLogStatus (string) --

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

      • defaultResultConfiguration (dict) --

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

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • 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.

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

UpdateProtectedQuery (updated) Link ¶
Changes (response)
{'protectedQuery': {'computeConfiguration': {'worker': {'number': 'integer',
                                                        'type': 'CR.1X | '
                                                                'CR.4X'}},
                    'resultConfiguration': {'outputConfiguration': {'s3': {'singleFileOutput': 'boolean'}}},
                    'statistics': {'billedResourceUtilization': {'units': 'double'}}}}

Updates the processing of a currently running query.

See also: AWS API Documentation

Request Syntax

client.update_protected_query(
    membershipIdentifier='string',
    protectedQueryIdentifier='string',
    targetStatus='CANCELLED'
)
type membershipIdentifier

string

param membershipIdentifier

[REQUIRED]

The identifier for a member of a protected query instance.

type protectedQueryIdentifier

string

param protectedQueryIdentifier

[REQUIRED]

The identifier for a protected query instance.

type targetStatus

string

param targetStatus

[REQUIRED]

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

rtype

dict

returns

Response Syntax

{
    'protectedQuery': {
        'id': 'string',
        'membershipId': 'string',
        'membershipArn': 'string',
        'createTime': datetime(2015, 1, 1),
        'sqlParameters': {
            'queryString': 'string',
            'analysisTemplateArn': 'string',
            'parameters': {
                'string': 'string'
            }
        },
        'status': 'SUBMITTED'|'STARTED'|'CANCELLED'|'CANCELLING'|'FAILED'|'SUCCESS'|'TIMED_OUT',
        'resultConfiguration': {
            'outputConfiguration': {
                's3': {
                    'resultFormat': 'CSV'|'PARQUET',
                    'bucket': 'string',
                    'keyPrefix': 'string',
                    'singleFileOutput': True|False
                },
                'member': {
                    'accountId': 'string'
                }
            }
        },
        'statistics': {
            'totalDurationInMillis': 123,
            'billedResourceUtilization': {
                'units': 123.0
            }
        },
        'result': {
            'output': {
                's3': {
                    'location': 'string'
                },
                'memberList': [
                    {
                        'accountId': 'string'
                    },
                ]
            }
        },
        'error': {
            'message': 'string',
            'code': 'string'
        },
        'differentialPrivacy': {
            'sensitivityParameters': [
                {
                    'aggregationType': 'AVG'|'COUNT'|'COUNT_DISTINCT'|'SUM'|'STDDEV',
                    'aggregationExpression': 'string',
                    'userContributionLimit': 123,
                    'minColumnValue': ...,
                    'maxColumnValue': ...
                },
            ]
        },
        'computeConfiguration': {
            'worker': {
                'type': 'CR.1X'|'CR.4X',
                'number': 123
            }
        }
    }
}

Response Structure

  • (dict) --

    • protectedQuery (dict) --

      The protected query output.

      • id (string) --

        The identifier for a protected query instance.

      • membershipId (string) --

        The identifier for the membership.

      • membershipArn (string) --

        The ARN of the membership.

      • createTime (datetime) --

        The time at which the protected query was created.

      • sqlParameters (dict) --

        The protected query SQL parameters.

        • queryString (string) --

          The query string to be submitted.

        • analysisTemplateArn (string) --

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

        • parameters (dict) --

          The protected query SQL parameters.

          • (string) --

            • (string) --

      • status (string) --

        The status of the query.

      • resultConfiguration (dict) --

        Contains any details needed to write the query results.

        • outputConfiguration (dict) --

          Configuration for protected query results.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, member. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

            Required configuration for a protected query with an s3 output type.

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

          • member (dict) --

            Required configuration for a protected query with a member output type.

            • accountId (string) --

              The unique identifier for the account.

      • statistics (dict) --

        Statistics about protected query execution.

        • totalDurationInMillis (integer) --

          The duration of the protected query, from creation until query completion.

        • billedResourceUtilization (dict) --

          The billed resource utilization.

          • units (float) --

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

      • result (dict) --

        The result of the protected query.

        • output (dict) --

          The output of the protected query.

          Note

          This is a Tagged Union structure. Only one of the following top level keys will be set: s3, memberList. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

          'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
          • s3 (dict) --

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

            • location (string) --

              The S3 location of the result.

          • memberList (list) --

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

            • (dict) --

              Details about the member who received the query result.

              • accountId (string) --

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

      • error (dict) --

        An error thrown by the protected query.

        • message (string) --

          A description of why the query failed.

        • code (string) --

          An error code for the error.

      • differentialPrivacy (dict) --

        The sensitivity parameters of the differential privacy results of the protected query.

        • sensitivityParameters (list) --

          Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results.

          • (dict) --

            Provides the sensitivity parameters.

            • aggregationType (string) --

              The type of aggregation function that was run.

            • aggregationExpression (string) --

              The aggregation expression that was run.

            • userContributionLimit (integer) --

              The maximum number of rows contributed by a user in a SQL query.

            • minColumnValue (float) --

              The lower bound of the aggregation expression.

            • maxColumnValue (float) --

              The upper bound of the aggregation expression.

      • computeConfiguration (dict) --

        The compute configuration for the protected query.

        Note

        This is a Tagged Union structure. Only one of the following top level keys will be set: worker. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
        • worker (dict) --

          The worker configuration for the compute environment.

          • type (string) --

            The worker compute configuration type.

          • number (integer) --

            The number of workers.