:doc:`CleanRoomsService <../../cleanrooms>` / Client / create_configured_table

***********************
create_configured_table
***********************



.. py:method:: CleanRoomsService.Client.create_configured_table(**kwargs)

  

  Creates a new configured table resource.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredTable>`_  


  **Request Syntax**
  ::

    response = client.create_configured_table(
        name='string',
        description='string',
        tableReference={
            'glue': {
                'region': 'us-west-1'|'us-west-2'|'us-east-1'|'us-east-2'|'af-south-1'|'ap-east-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-southeast-5'|'ap-southeast-4'|'ap-southeast-7'|'ap-south-1'|'ap-northeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ca-central-1'|'ca-west-1'|'eu-south-1'|'eu-west-3'|'eu-south-2'|'eu-central-2'|'eu-central-1'|'eu-north-1'|'eu-west-1'|'eu-west-2'|'me-south-1'|'me-central-1'|'il-central-1'|'sa-east-1'|'mx-central-1'|'ap-east-2',
                'tableName': 'string',
                'databaseName': 'string'
            },
            'snowflake': {
                'secretArn': 'string',
                'accountIdentifier': 'string',
                'databaseName': 'string',
                'tableName': 'string',
                'schemaName': 'string',
                'tableSchema': {
                    'v1': [
                        {
                            'columnName': 'string',
                            'columnType': 'string'
                        },
                    ]
                }
            },
            'athena': {
                'region': 'us-west-1'|'us-west-2'|'us-east-1'|'us-east-2'|'af-south-1'|'ap-east-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-southeast-5'|'ap-southeast-4'|'ap-southeast-7'|'ap-south-1'|'ap-northeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ca-central-1'|'ca-west-1'|'eu-south-1'|'eu-west-3'|'eu-south-2'|'eu-central-2'|'eu-central-1'|'eu-north-1'|'eu-west-1'|'eu-west-2'|'me-south-1'|'me-central-1'|'il-central-1'|'sa-east-1'|'mx-central-1'|'ap-east-2',
                'workGroup': 'string',
                'outputLocation': 'string',
                'databaseName': 'string',
                'tableName': 'string'
            }
        },
        allowedColumns=[
            'string',
        ],
        analysisMethod='DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
        selectedAnalysisMethods=[
            'DIRECT_QUERY'|'DIRECT_JOB',
        ],
        tags={
            'string': 'string'
        }
    )
    
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the configured table.

    

  
  :type description: string
  :param description: 

    A description for the configured table.

    

  
  :type tableReference: dict
  :param tableReference: **[REQUIRED]** 

    A reference to the table being configured.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``glue``, ``snowflake``, ``athena``. 

  
    - **glue** *(dict) --* 

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

      

    
      - **region** *(string) --* 

        The Amazon Web Services Region where the Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.

        

      
      - **tableName** *(string) --* **[REQUIRED]** 

        The name of the Glue table.

        

      
      - **databaseName** *(string) --* **[REQUIRED]** 

        The name of the database the Glue table belongs to.

        

      
    
    - **snowflake** *(dict) --* 

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

      

    
      - **secretArn** *(string) --* **[REQUIRED]** 

        The secret ARN of the Snowflake table reference.

        

      
      - **accountIdentifier** *(string) --* **[REQUIRED]** 

        The account identifier for the Snowflake table reference.

        

      
      - **databaseName** *(string) --* **[REQUIRED]** 

        The name of the database the Snowflake table belongs to.

        

      
      - **tableName** *(string) --* **[REQUIRED]** 

        The name of the Snowflake table.

        

      
      - **schemaName** *(string) --* **[REQUIRED]** 

        The schema name of the Snowflake table reference.

        

      
      - **tableSchema** *(dict) --* **[REQUIRED]** 

        The schema of the Snowflake table.

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

      
        - **v1** *(list) --* 

          The schema of a Snowflake table.

          

        
          - *(dict) --* 

            The Snowflake table schema.

            

          
            - **columnName** *(string) --* **[REQUIRED]** 

              The column name.

              

            
            - **columnType** *(string) --* **[REQUIRED]** 

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

              

            
          
      
      
    
    - **athena** *(dict) --* 

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

      

    
      - **region** *(string) --* 

        The Amazon Web Services Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.

        

      
      - **workGroup** *(string) --* **[REQUIRED]** 

        The workgroup of the Athena table reference.

        

      
      - **outputLocation** *(string) --* 

        The output location for the Athena table.

        

      
      - **databaseName** *(string) --* **[REQUIRED]** 

        The database name.

        

      
      - **tableName** *(string) --* **[REQUIRED]** 

        The table reference.

        

      
    
  
  :type allowedColumns: list
  :param allowedColumns: **[REQUIRED]** 

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

    

  
    - *(string) --* 

    

  :type analysisMethod: string
  :param analysisMethod: **[REQUIRED]** 

    The analysis method allowed for the configured tables.

     

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

     

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

     

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

    

  
  :type selectedAnalysisMethods: list
  :param selectedAnalysisMethods: 

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

    

  
    - *(string) --* 

    

  :type tags: dict
  :param tags: 

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

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'configuredTable': {
              'id': 'string',
              'arn': 'string',
              'name': 'string',
              'description': 'string',
              'tableReference': {
                  'glue': {
                      'region': 'us-west-1'|'us-west-2'|'us-east-1'|'us-east-2'|'af-south-1'|'ap-east-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-southeast-5'|'ap-southeast-4'|'ap-southeast-7'|'ap-south-1'|'ap-northeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ca-central-1'|'ca-west-1'|'eu-south-1'|'eu-west-3'|'eu-south-2'|'eu-central-2'|'eu-central-1'|'eu-north-1'|'eu-west-1'|'eu-west-2'|'me-south-1'|'me-central-1'|'il-central-1'|'sa-east-1'|'mx-central-1'|'ap-east-2',
                      'tableName': 'string',
                      'databaseName': 'string'
                  },
                  'snowflake': {
                      'secretArn': 'string',
                      'accountIdentifier': 'string',
                      'databaseName': 'string',
                      'tableName': 'string',
                      'schemaName': 'string',
                      'tableSchema': {
                          'v1': [
                              {
                                  'columnName': 'string',
                                  'columnType': 'string'
                              },
                          ]
                      }
                  },
                  'athena': {
                      'region': 'us-west-1'|'us-west-2'|'us-east-1'|'us-east-2'|'af-south-1'|'ap-east-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-southeast-5'|'ap-southeast-4'|'ap-southeast-7'|'ap-south-1'|'ap-northeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ca-central-1'|'ca-west-1'|'eu-south-1'|'eu-west-3'|'eu-south-2'|'eu-central-2'|'eu-central-1'|'eu-north-1'|'eu-west-1'|'eu-west-2'|'me-south-1'|'me-central-1'|'il-central-1'|'sa-east-1'|'mx-central-1'|'ap-east-2',
                      'workGroup': 'string',
                      'outputLocation': 'string',
                      'databaseName': 'string',
                      'tableName': 'string'
                  }
              },
              'createTime': datetime(2015, 1, 1),
              'updateTime': datetime(2015, 1, 1),
              'analysisRuleTypes': [
                  'AGGREGATION'|'LIST'|'CUSTOM',
              ],
              'analysisMethod': 'DIRECT_QUERY'|'DIRECT_JOB'|'MULTIPLE',
              'allowedColumns': [
                  'string',
              ],
              'selectedAnalysisMethods': [
                  'DIRECT_QUERY'|'DIRECT_JOB',
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **configuredTable** *(dict) --* 

        The created configured table.

        
        

        - **id** *(string) --* 

          The unique ID for the configured table.

          
        

        - **arn** *(string) --* 

          The unique ARN for the configured table.

          
        

        - **name** *(string) --* 

          A name for the configured table.

          
        

        - **description** *(string) --* 

          A description for the configured table.

          
        

        - **tableReference** *(dict) --* 

          The table that this configured table represents.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``glue``, ``snowflake``, ``athena``.     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'}


        
          

          - **glue** *(dict) --* 

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

            
            

            - **region** *(string) --* 

              The Amazon Web Services Region where the Glue table is located. This parameter is required to uniquely identify and access tables across different Regions.

              
            

            - **tableName** *(string) --* 

              The name of the Glue table.

              
            

            - **databaseName** *(string) --* 

              The name of the database the Glue table belongs to.

              
        
          

          - **snowflake** *(dict) --* 

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

            
            

            - **secretArn** *(string) --* 

              The secret ARN of the Snowflake table reference.

              
            

            - **accountIdentifier** *(string) --* 

              The account identifier for the Snowflake table reference.

              
            

            - **databaseName** *(string) --* 

              The name of the database the Snowflake table belongs to.

              
            

            - **tableName** *(string) --* 

              The name of the Snowflake table.

              
            

            - **schemaName** *(string) --* 

              The schema name of the Snowflake table reference.

              
            

            - **tableSchema** *(dict) --* 

              The schema of the Snowflake table.

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

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **v1** *(list) --* 

                The schema of a Snowflake table.

                
                

                - *(dict) --* 

                  The Snowflake table schema.

                  
                  

                  - **columnName** *(string) --* 

                    The column name.

                    
                  

                  - **columnType** *(string) --* 

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

                    
              
            
          
        
          

          - **athena** *(dict) --* 

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

            
            

            - **region** *(string) --* 

              The Amazon Web Services Region where the Athena table is located. This parameter is required to uniquely identify and access tables across different Regions.

              
            

            - **workGroup** *(string) --* 

              The workgroup of the Athena table reference.

              
            

            - **outputLocation** *(string) --* 

              The output location for the Athena table.

              
            

            - **databaseName** *(string) --* 

              The database name.

              
            

            - **tableName** *(string) --* 

              The table reference.

              
        
      
        

        - **createTime** *(datetime) --* 

          The time the configured table was created.

          
        

        - **updateTime** *(datetime) --* 

          The time the configured table was last updated

          
        

        - **analysisRuleTypes** *(list) --* 

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

          
          

          - *(string) --* 
      
        

        - **analysisMethod** *(string) --* 

          The analysis method for the configured table.

           

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

           

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

           

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

          
        

        - **allowedColumns** *(list) --* 

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

          
          

          - *(string) --* 
      
        

        - **selectedAnalysisMethods** *(list) --* 

          The selected analysis methods for the configured table.

          
          

          - *(string) --* 
      
    
  
  **Exceptions**
  
  *   :py:class:`CleanRoomsService.Client.exceptions.ConflictException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.InternalServerException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.ValidationException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.ThrottlingException`

  
  *   :py:class:`CleanRoomsService.Client.exceptions.AccessDeniedException`

  