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

*************************
get_user_defined_function
*************************



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

  

  Retrieves a specified function definition from the Data Catalog.

  

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


  **Request Syntax**
  ::

    response = client.get_user_defined_function(
        CatalogId='string',
        DatabaseName='string',
        FunctionName='string'
    )
    
  :type CatalogId: string
  :param CatalogId: 

    The ID of the Data Catalog where the function to be retrieved 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 is located.

    

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

    The name of the function.

    

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

    
    ::

      {
          'UserDefinedFunction': {
              'FunctionName': 'string',
              'DatabaseName': 'string',
              'ClassName': 'string',
              'OwnerName': 'string',
              'FunctionType': 'REGULAR_FUNCTION'|'AGGREGATE_FUNCTION'|'STORED_PROCEDURE',
              'OwnerType': 'USER'|'ROLE'|'GROUP',
              'CreateTime': datetime(2015, 1, 1),
              'ResourceUris': [
                  {
                      'ResourceType': 'JAR'|'FILE'|'ARCHIVE',
                      'Uri': 'string'
                  },
              ],
              'CatalogId': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **UserDefinedFunction** *(dict) --* 

        The requested function definition.

        
        

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

          The name of the function.

          
        

        - **DatabaseName** *(string) --* 

          The name of the catalog database that contains 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.

          
        

        - **CreateTime** *(datetime) --* 

          The time at which the function was created.

          
        

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

              
        
      
        

        - **CatalogId** *(string) --* 

          The ID of the Data Catalog in which the function resides.

          
    
  
  **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`

  