:doc:`Glue <../../glue>` / Client / update_user_defined_function

****************************
update_user_defined_function
****************************



.. py:method:: Glue.Client.update_user_defined_function(**kwargs)

  

  Updates an existing function definition in the Data Catalog.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUserDefinedFunction>`_  


  **Request Syntax**
  ::

    response = client.update_user_defined_function(
        CatalogId='string',
        DatabaseName='string',
        FunctionName='string',
        FunctionInput={
            'FunctionName': 'string',
            'ClassName': 'string',
            'OwnerName': 'string',
            'FunctionType': 'REGULAR_FUNCTION'|'AGGREGATE_FUNCTION'|'STORED_PROCEDURE',
            'OwnerType': 'USER'|'ROLE'|'GROUP',
            'ResourceUris': [
                {
                    'ResourceType': 'JAR'|'FILE'|'ARCHIVE',
                    'Uri': 'string'
                },
            ]
        }
    )
    
  :type CatalogId: string
  :param CatalogId: 

    The ID of the Data Catalog where the function to be updated is located. If none is provided, the Amazon Web Services account ID is used by default.

    

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

    The name of the catalog database where the function to be updated is located.

    

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

    The name of the function.

    

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

    A ``FunctionInput`` object that redefines the function in the Data Catalog.

    

  
    - **FunctionName** *(string) --* 

      The name of the function.

      

    
    - **ClassName** *(string) --* 

      The Java class that contains the function code.

      

    
    - **OwnerName** *(string) --* 

      The owner of the function.

      

    
    - **FunctionType** *(string) --* 

      The type of the function.

      

    
    - **OwnerType** *(string) --* 

      The owner type.

      

    
    - **ResourceUris** *(list) --* 

      The resource URIs for the function.

      

    
      - *(dict) --* 

        The URIs for function resources.

        

      
        - **ResourceType** *(string) --* 

          The type of the resource.

          

        
        - **Uri** *(string) --* 

          The URI for accessing the resource.

          

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`Glue.Client.exceptions.EntityNotFoundException`

  
  *   :py:class:`Glue.Client.exceptions.InvalidInputException`

  
  *   :py:class:`Glue.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Glue.Client.exceptions.OperationTimeoutException`

  
  *   :py:class:`Glue.Client.exceptions.GlueEncryptionException`

  