Glue / Client / update_user_defined_function

update_user_defined_function

Glue.Client.update_user_defined_function(**kwargs)

Updates an existing function definition in the Data Catalog.

See also: AWS API Documentation

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',
                'LastModified': datetime(2015, 1, 1)
            },
        ],
        'ArtifactLocation': 'string',
        'GovernanceMode': 'IAM_ONLY'|'LAKE_FORMATION'
    }
)
Parameters:
  • CatalogId (string) – 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.

  • DatabaseName (string) –

    [REQUIRED]

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

  • FunctionName (string) –

    [REQUIRED]

    The name of the function.

  • FunctionInput (dict) –

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

        • LastModified (datetime) –

          The time at which the resource was last modified in Amazon S3. Glue records this value when you create or update a function whose GovernanceMode is LAKE_FORMATION. Analytics engines use it to verify that the resource hasn’t changed. This is an output-only field.

    • ArtifactLocation (string) –

      The Amazon S3 location that contains the function’s artifacts. Required when GovernanceMode is LAKE_FORMATION. You must register the location with Lake Formation, and every resource URI must be under this location.

    • GovernanceMode (string) –

      How access to the function is governed. Specify LAKE_FORMATION to manage access to the function with Lake Formation permissions. If you don’t specify a value, the default is IAM_ONLY. You can’t change the governance mode after the function is created.

      When GovernanceMode is LAKE_FORMATION:

      • You must be a data lake administrator or have all permissions on the Data Catalog with the grant option.

      • You must have the DATA_LOCATION_ACCESS permission on the ArtifactLocation, unless you’re a data lake administrator.

      • You must specify from 1 to 10 resource URIs, each under the ArtifactLocation.

      • You can’t rename the function.

Return type:

dict

Returns:

Response Syntax

{}

Response Structure

  • (dict) –

Exceptions