

# API User-defined Function
<a name="aws-glue-api-catalog-functions"></a>

A API User-defined Function descreve os tipos de dados e as operações do AWS Glue usados para trabalhar com funções.

## Tipos de dados
<a name="aws-glue-api-catalog-functions-objects"></a>
+ [Estrutura UserDefinedFunction](#aws-glue-api-catalog-functions-UserDefinedFunction)
+ [Estrutura UserDefinedFunctionInput](#aws-glue-api-catalog-functions-UserDefinedFunctionInput)

## Estrutura UserDefinedFunction
<a name="aws-glue-api-catalog-functions-UserDefinedFunction"></a>

Representa o equivalente a uma definição de função do Hive definida pelo usuário (`UDF`).

**Campos**
+ `FunctionName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nome da função.
+ `DatabaseName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados de catálogo que contém a função.
+ `ClassName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  A classe Java que contém o código da função.
+ `OwnerName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O proprietário da função.
+ `OwnerType` – String UTF-8 (valores válidos: `USER` \$1 `ROLE` \$1 `GROUP`).

  Tipo do proprietário.
+ `CreateTime` – Timestamp.

  A hora em que a função foi criada.
+ `ResourceUris` – Uma matriz de objetos [ResourceUri](aws-glue-api-common.md#aws-glue-api-common-ResourceUri), não mais de 1000 estruturas.

  Os URIs do recurso para a função.
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do Data Catalog em que a função reside.

## Estrutura UserDefinedFunctionInput
<a name="aws-glue-api-catalog-functions-UserDefinedFunctionInput"></a>

Uma estrutura usada para criar ou atualizar uma função definida pelo usuário.

**Campos**
+ `FunctionName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nome da função.
+ `ClassName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  A classe Java que contém o código da função.
+ `OwnerName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O proprietário da função.
+ `OwnerType` – String UTF-8 (valores válidos: `USER` \$1 `ROLE` \$1 `GROUP`).

  Tipo do proprietário.
+ `ResourceUris` – Uma matriz de objetos [ResourceUri](aws-glue-api-common.md#aws-glue-api-common-ResourceUri), não mais de 1000 estruturas.

  Os URIs do recurso para a função.

## Operações
<a name="aws-glue-api-catalog-functions-actions"></a>
+ [Ação CreateUserDefinedFunction (Python: create\$1user\$1defined\$1function)](#aws-glue-api-catalog-functions-CreateUserDefinedFunction)
+ [Ação UpdateUserDefinedFunction (Python: update\$1user\$1defined\$1function)](#aws-glue-api-catalog-functions-UpdateUserDefinedFunction)
+ [Ação DeleteUserDefinedFunction (Python: delete\$1user\$1defined\$1function)](#aws-glue-api-catalog-functions-DeleteUserDefinedFunction)
+ [Ação GetUserDefinedFunction (Python: get\$1user\$1defined\$1function)](#aws-glue-api-catalog-functions-GetUserDefinedFunction)
+ [Ação GetUserDefinedFunctions (Python: get\$1user\$1defined\$1functions)](#aws-glue-api-catalog-functions-GetUserDefinedFunctions)

## Ação CreateUserDefinedFunction (Python: create\$1user\$1defined\$1function)
<a name="aws-glue-api-catalog-functions-CreateUserDefinedFunction"></a>

Cria uma definição de nova função no catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que a função será criada. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados de catálogos no qual a função será criada.
+ `FunctionInput` – *Obrigatório:* um objeto [UserDefinedFunctionInput](#aws-glue-api-catalog-functions-UserDefinedFunctionInput).

  Um objeto `FunctionInput` que define a função a ser criada no catálogo de dados.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `AlreadyExistsException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `GlueEncryptionException`

## Ação UpdateUserDefinedFunction (Python: update\$1user\$1defined\$1function)
<a name="aws-glue-api-catalog-functions-UpdateUserDefinedFunction"></a>

Atualiza uma definição de função existente no catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados no qual está a função a ser atualizada. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados do catálogo no qual está a função a ser atualizada.
+ `FunctionName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nome da função.
+ `FunctionInput` – *Obrigatório:* um objeto [UserDefinedFunctionInput](#aws-glue-api-catalog-functions-UserDefinedFunctionInput).

  Um objeto `FunctionInput` que redefine a função no Catálogo de dados.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## Ação DeleteUserDefinedFunction (Python: delete\$1user\$1defined\$1function)
<a name="aws-glue-api-catalog-functions-DeleteUserDefinedFunction"></a>

Exclui uma definição função existente do catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados no qual está a função a ser excluída. Se nenhum valor for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados do catálogo no qual a função está.
+ `FunctionName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome da definição de função a ser excluída.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## Ação GetUserDefinedFunction (Python: get\$1user\$1defined\$1function)
<a name="aws-glue-api-catalog-functions-GetUserDefinedFunction"></a>

Recupera uma definição de função especificada do catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados no qual está a função a ser recuperada. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados do catálogo no qual a função está.
+ `FunctionName`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nome da função.

**Resposta**
+ `UserDefinedFunction` – Um objeto [UserDefinedFunction](#aws-glue-api-catalog-functions-UserDefinedFunction).

  A definição de função solicitada.

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`

## Ação GetUserDefinedFunctions (Python: get\$1user\$1defined\$1functions)
<a name="aws-glue-api-catalog-functions-GetUserDefinedFunctions"></a>

Recupera várias definições de função do Catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados no qual estão as funções a serem recuperadas. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados do catálogo no qual as funções estão localizadas. Se nenhum for fornecido, as funções de todos os bancos de dados no catálogo serão retornadas.
+ `Pattern`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Uma string de padrão de função-nome opcional que filtra as definições de função retornadas.
+ `NextToken` – String UTF-8.

  Um token de continuação, se esta for uma chamada de continuação.
+ `MaxResults`: número (inteiro), não menos do que 1 ou superior a 100.

  O número máximo de funções a ser retornado em uma resposta.

**Resposta**
+ `UserDefinedFunctions`: um array de objetos [UserDefinedFunction](#aws-glue-api-catalog-functions-UserDefinedFunction).

  Uma lista das definições de função solicitadas.
+ `NextToken` – String UTF-8.

  Um token de continuação, se a lista de funções retornadas não incluir a última função solicitada.

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `OperationTimeoutException`
+ `InternalServiceException`
+ `GlueEncryptionException`