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

**************************
get_user_defined_functions
**************************



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

  

  Retrieves multiple function definitions from the Data Catalog.

  

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


  **Request Syntax**
  ::

    response = client.get_user_defined_functions(
        CatalogId='string',
        DatabaseName='string',
        Pattern='string',
        FunctionType='REGULAR_FUNCTION'|'AGGREGATE_FUNCTION'|'STORED_PROCEDURE',
        NextToken='string',
        MaxResults=123
    )
    
  :type CatalogId: string
  :param CatalogId: 

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

    

  
  :type DatabaseName: string
  :param DatabaseName: 

    The name of the catalog database where the functions are located. If none is provided, functions from all the databases across the catalog will be returned.

    

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

    An optional function-name pattern string that filters the function definitions returned.

    

  
  :type FunctionType: string
  :param FunctionType: 

    An optional function-type pattern string that filters the function definitions returned from Amazon Redshift Federated Permissions Catalog.

     

    Specify a value of ``REGULAR_FUNCTION`` or ``STORED_PROCEDURE``. The ``STORED_PROCEDURE`` function type is only compatible with Amazon Redshift Federated Permissions Catalog.

    

  
  :type NextToken: string
  :param NextToken: 

    A continuation token, if this is a continuation call.

    

  
  :type MaxResults: integer
  :param MaxResults: 

    The maximum number of functions to return in one response.

    

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

    
    ::

      {
          'UserDefinedFunctions': [
              {
                  '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'
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **UserDefinedFunctions** *(list) --* 

        A list of requested function definitions.

        
        

        - *(dict) --* 

          Represents the equivalent of a Hive user-defined function ( ``UDF``) 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.

            
      
    
      

      - **NextToken** *(string) --* 

        A continuation token, if the list of functions returned does not include the last requested function.

        
  
  **Exceptions**
  
  *   :py:class:`Glue.Client.exceptions.EntityNotFoundException`

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

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

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

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

  