CreateUserDefinedFunction - AWS Glue

CreateUserDefinedFunction

Creates a new function definition in the Data Catalog.

Request Syntax

{ "CatalogId": "string", "DatabaseName": "string", "FunctionInput": { "ClassName": "string", "FunctionName": "string", "OwnerName": "string", "OwnerType": "string", "ResourceUris": [ { "ResourceType": "string", "Uri": "string" } ] } }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

CatalogId

The ID of the Data Catalog in which to create the function. If none is provided, the AWS account ID is used by default.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*

Required: No

DatabaseName

The name of the catalog database in which to create the function.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*

Required: Yes

FunctionInput

A FunctionInput object that defines the function to create in the Data Catalog.

Type: UserDefinedFunctionInput object

Required: Yes

Response Elements

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

Errors

For information about the errors that are common to all actions, see Common Errors.

AlreadyExistsException

A resource to be created or added already exists.

HTTP Status Code: 400

EntityNotFoundException

A specified entity does not exist

HTTP Status Code: 400

GlueEncryptionException

An encryption operation failed.

HTTP Status Code: 400

InternalServiceException

An internal service error occurred.

HTTP Status Code: 500

InvalidInputException

The input provided was not valid.

HTTP Status Code: 400

OperationTimeoutException

The operation timed out.

HTTP Status Code: 400

ResourceNumberLimitExceededException

A resource numerical limit was exceeded.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: