:doc:`Athena <../../athena>` / Client / update_data_catalog

*******************
update_data_catalog
*******************



.. py:method:: Athena.Client.update_data_catalog(**kwargs)

  

  Updates the data catalog that has the specified name.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdateDataCatalog>`_  


  **Request Syntax**
  ::

    response = client.update_data_catalog(
        Name='string',
        Type='LAMBDA'|'GLUE'|'HIVE'|'FEDERATED',
        Description='string',
        Parameters={
            'string': 'string'
        }
    )
    
  :type Name: string
  :param Name: **[REQUIRED]** 

    The name of the data catalog to update. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign, or hyphen characters. The remainder of the length constraint of 256 is reserved for use by Athena.

    

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

    Specifies the type of data catalog to update. Specify ``LAMBDA`` for a federated catalog, ``HIVE`` for an external hive metastore, or ``GLUE`` for an Glue Data Catalog.

    

  
  :type Description: string
  :param Description: 

    New or modified text that describes the data catalog.

    

  
  :type Parameters: dict
  :param Parameters: 

    Specifies the Lambda function or functions to use for updating the data catalog. This is a mapping whose values depend on the catalog type.

     

    
    * For the ``HIVE`` data catalog type, use the following syntax. The ``metadata-function`` parameter is required. ``The sdk-version`` parameter is optional and defaults to the currently supported version. ``metadata-function=lambda_arn, sdk-version=version_number``
     
    * For the ``LAMBDA`` data catalog type, use one of the following sets of required parameters, but not both. 

      
      * If you have one Lambda function that processes metadata and another for reading the actual data, use the following syntax. Both parameters are required. ``metadata-function=lambda_arn, record-function=lambda_arn``
       
      * If you have a composite Lambda function that processes both metadata and data, use the following syntax to specify your Lambda function. ``function=lambda_arn``
      

    
    

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`Athena.Client.exceptions.InternalServerException`

  
  *   :py:class:`Athena.Client.exceptions.InvalidRequestException`

  