

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# API de fonction définie par l'utilisateur
<a name="aws-glue-api-catalog-functions"></a>

L'API des fonctions définies par l'utilisateur décrit les types de AWS Glue données et les opérations utilisés lors de l'utilisation des fonctions.

## Types de données
<a name="aws-glue-api-catalog-functions-objects"></a>
+ [UserDefinedFunction structure](#aws-glue-api-catalog-functions-UserDefinedFunction)
+ [UserDefinedFunctionInput structure](#aws-glue-api-catalog-functions-UserDefinedFunctionInput)

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

Représente l'équivalent d'une définition de fonction Hive définie par l'utilisateur (`UDF`).

**Champs**
+ `FunctionName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la fonction.
+ `DatabaseName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue qui contient la fonction.
+ `ClassName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Classe Java qui contient le code de fonction.
+ `OwnerName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Propriétaire de la fonction.
+ `OwnerType` – Chaîne UTF-8 (valeurs valides : `USER` \| `ROLE` \| `GROUP`).

  Type de propriétaire.
+ `CreateTime` – Horodatage.

  Heure à laquelle la fonction a été créée.
+ `ResourceUris` – Un tableau d'objets [ResourceUri](aws-glue-api-common.md#aws-glue-api-common-ResourceUri), 1000 structures maximum.

  La ressource URIs associée à la fonction.
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données dans lequel réside la fonction.

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

Structure utilisée pour créer ou mettre à jour une fonction définie par l'utilisateur.

**Champs**
+ `FunctionName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la fonction.
+ `ClassName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Classe Java qui contient le code de fonction.
+ `OwnerName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Propriétaire de la fonction.
+ `OwnerType` – Chaîne UTF-8 (valeurs valides : `USER` \| `ROLE` \| `GROUP`).

  Type de propriétaire.
+ `ResourceUris` – Un tableau d'objets [ResourceUri](aws-glue-api-common.md#aws-glue-api-common-ResourceUri), 1000 structures maximum.

  La ressource URIs associée à la fonction.

## Opérations
<a name="aws-glue-api-catalog-functions-actions"></a>
+ [CreateUserDefinedFunction action (Python : create\_user\_defined\_function)](#aws-glue-api-catalog-functions-CreateUserDefinedFunction)
+ [UpdateUserDefinedFunction action (Python : update\_user\_defined\_function)](#aws-glue-api-catalog-functions-UpdateUserDefinedFunction)
+ [DeleteUserDefinedFunction action (Python : delete\_user\_defined\_function)](#aws-glue-api-catalog-functions-DeleteUserDefinedFunction)
+ [GetUserDefinedFunction action (Python : get\_user\_defined\_function)](#aws-glue-api-catalog-functions-GetUserDefinedFunction)
+ [GetUserDefinedFunctions action (Python : get\_user\_defined\_functions)](#aws-glue-api-catalog-functions-GetUserDefinedFunctions)

## CreateUserDefinedFunction action (Python : create\_user\_defined\_function)
<a name="aws-glue-api-catalog-functions-CreateUserDefinedFunction"></a>

Crée une nouvelle définition de fonction dans le catalogue de données.

**Demande**
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données dans lequel créer la fonction. Si aucun identifiant n'est fourni, l'identifiant du AWS compte est utilisé par défaut.
+ `DatabaseName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue dans laquelle créer la fonction.
+ `FunctionInput` – *Obligatoire :* un objet [UserDefinedFunctionInput](#aws-glue-api-catalog-functions-UserDefinedFunctionInput).

  Objet `FunctionInput` qui définit la fonction à créer dans le catalogue de données.

**Réponse**
+ *Paramètres d’absence de réponse.*

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

## UpdateUserDefinedFunction action (Python : update\_user\_defined\_function)
<a name="aws-glue-api-catalog-functions-UpdateUserDefinedFunction"></a>

Met à jour une définition de fonction existante dans le catalogue de données.

**Demande**
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données contenant la fonction à mettre à jour. Si aucun identifiant n'est fourni, l'identifiant du AWS compte est utilisé par défaut.
+ `DatabaseName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue contenant la fonction à mettre à jour.
+ `FunctionName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la fonction.
+ `FunctionInput` – *Obligatoire :* un objet [UserDefinedFunctionInput](#aws-glue-api-catalog-functions-UserDefinedFunctionInput).

  Objet `FunctionInput` qui redéfinit la fonction à créer dans le catalogue de données.

**Réponse**
+ *Paramètres d’absence de réponse.*

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

## DeleteUserDefinedFunction action (Python : delete\_user\_defined\_function)
<a name="aws-glue-api-catalog-functions-DeleteUserDefinedFunction"></a>

Supprime une définition de fonction existante du catalogue de données.

**Demande**
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données contenant la fonction à supprimer. Si aucun identifiant n'est fourni, l'identifiant du AWS compte est utilisé par défaut.
+ `DatabaseName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue contenant la fonction.
+ `FunctionName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la définition de fonction à supprimer.

**Réponse**
+ *Paramètres d’absence de réponse.*

**Erreurs**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetUserDefinedFunction action (Python : get\_user\_defined\_function)
<a name="aws-glue-api-catalog-functions-GetUserDefinedFunction"></a>

Extrait une définition de fonction spécifiée du catalogue de données.

**Demande**
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données contenant la fonction à extraire. Si aucun identifiant n'est fourni, l'identifiant du AWS compte est utilisé par défaut.
+ `DatabaseName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue contenant la fonction.
+ `FunctionName` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la fonction.

**Réponse**
+ `UserDefinedFunction` – Un objet [UserDefinedFunction](#aws-glue-api-catalog-functions-UserDefinedFunction).

  Définition de la fonction demandée.

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

## GetUserDefinedFunctions action (Python : get\_user\_defined\_functions)
<a name="aws-glue-api-catalog-functions-GetUserDefinedFunctions"></a>

Extrait plusieurs définitions de fonction du catalogue de données.

**Demande**
+ `CatalogId` – Chaîne d’ID de catalogue, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  ID du catalogue de données contenant les fonction à extraire. Si aucun identifiant n'est fourni, l'identifiant du AWS compte est utilisé par défaut.
+ `DatabaseName` – Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nom de la base de données du catalogue contenant les fonctions. Si aucune n'est fournie, des fonctions de toutes les bases de données du catalogue seront renvoyées.
+ `Pattern` – *Obligatoire :* Chaîne UTF-8, d’une longueur comprise entre 1 et 255 octets, correspondant au [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Chaîne de modèle nom-fonction facultative qui filtre les définitions de fonction renvoyées.
+ `NextToken` – Chaîne UTF-8.

  Jeton de continuation, s’il s’agit d’un appel de continuation.
+ `MaxResults` – Nombre (entier), compris entre 1 et 100.

  Nombre maximum de fonctions renvoyées par réponse.

**Réponse**
+ `UserDefinedFunctions` : un tableau d’objets [UserDefinedFunction](#aws-glue-api-catalog-functions-UserDefinedFunction).

  Liste des définitions de fonction demandées.
+ `NextToken` – Chaîne UTF-8.

  Jeton de continuation, si la liste de fonctions renvoyée n'inclut pas la dernière fonction demandée.

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