

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# CREATE LIBRARY
<a name="r_CREATE_LIBRARY"></a>

Installe une bibliothèque Python, qui est disponible pour que les utilisateurs l’intègrent lors de la création d’une fonction définie par l’utilisateur (UDF) avec la commande [CREATE FUNCTION](r_CREATE_FUNCTION.md). La taille totale des bibliothèques installées par l’utilisateur ne peut pas dépasser 100 Mo. 

CREATE LIBRARY ne peut pas être exécutée à l’intérieur d’un bloc de transaction (BEGIN ... END). Pour plus d’informations sur les transactions, consultez [Niveaux d’isolement dans Amazon Redshift](c_serial_isolation.md). 

Amazon Redshift prend en charge Python version 2.7. Pour plus d’informations, consultez la page [www.python.org](https://www.python.org/).

Pour plus d’informations, consultez [Exemple : importation des modules de la bibliothèque Python personnalisés](udf-importing-custom-python-library-modules.md). 

## Privilèges requis
<a name="r_CREATE_LIBRARY-privileges"></a>

Les privilèges suivants sont requis pour CREATE LIBRARY :
+ Superuser
+ Utilisateurs disposant du privilège CREATE LIBRARY ou du privilège du langage spécifié

## Syntaxe
<a name="r_CREATE_LIBRARY-synopsis"></a>

```
CREATE [ OR REPLACE ] LIBRARY library_name LANGUAGE plpythonu
FROM
{ 'https://file_url'
| 's3://bucketname/file_name'
authorization
  [ REGION [AS] 'aws_region']
  IAM_ROLE { default | ‘arn:aws:iam::{{<Compte AWS-id>}}:role/{{<role-name>}}’ }
}
```

## Parameters
<a name="r_CREATE_LIBRARY-parameters"></a>

OR REPLACE  
Spécifie que si une bibliothèque portant le même nom que celui-ci existe déjà, la bibliothèque existante est remplacée. REPLACE valide immédiatement. Si une fonction UDF qui dépend de la bibliothèque s’exécute simultanément, la fonction UDF peut échouer ou renvoyer des résultats inattendus, même si la fonction UDF est en cours d’exécution au sein d’une transaction. Vous devez être le propriétaire ou un super-utilisateur pour remplacer une bibliothèque.

 *nom\_bibliothèque*   
Nom de la bibliothèque à installer. Vous ne pouvez pas créer une bibliothèque qui contient un module avec le même nom qu’un module de la bibliothèque standard Python ou qu’un module Amazon Redshift préinstallé. Si une bibliothèque existante installée par l’utilisateur emploie le même package Python que la bibliothèque à installer, vous devez supprimer la bibliothèque existante avant d’installer la nouvelle bibliothèque. Pour plus d'informations, consultez [Support du langage Python pour UDFs](udf-python-language-support.md).

LANGUAGE plpythonu  
Langage à utiliser. Python (plpythonu) est le seul langage pris en charge. Amazon Redshift prend en charge Python version 2.7. Pour plus d’informations, consultez la page [www.python.org](https://www.python.org/).

FROM  
Emplacement du fichier bibliothèque. Vous pouvez spécifier un compartiment Amazon S3 et le nom d’objet ou vous pouvez spécifier une URL pour télécharger le fichier depuis un site web public. La bibliothèque doit être empaquetée sous la forme d’un fichier `.zip`. Pour plus d’informations, consultez [Création et installation des modules Python](https://docs.python.org/2/library/distutils.html?highlight=distutils#module-distutils) dans la documentation Python.

 https://*url\_fichier*   
URL pour télécharger le fichier depuis un site web public. L’URL peut contenir jusqu’à trois redirections. Voici un exemple d’URL de fichier.  

```
'https://www.example.com/pylib.zip'
```

 s3://*nom\_compartiment/nom\_fichier*   
Chemin d’accès vers un objet Amazon S3 qui contient le fichier bibliothèque. Voici un exemple de chemin d’objet Amazon S3.  

```
's3://amzn-s3-demo-bucket/my-pylib.zip'
```
Si vous spécifiez un compartiment Amazon S3, vous devez également fournir les informations d’identification pour un utilisateur AWS qui est autorisé à télécharger le fichier.   
 Si le compartiment Amazon S3 ne réside pas dans la même AWS région que votre cluster Amazon Redshift, vous devez utiliser l'option REGION pour spécifier la AWS région dans laquelle se trouvent les données. La valeur de *aws\_region* doit correspondre à une AWS région répertoriée dans le tableau de la description des [REGION](copy-parameters-data-source-s3.md#copy-region) paramètres de la commande COPY.

*authorization*   
Clause indiquant la méthode que votre cluster utilise pour l’authentification et l’autorisation afin d’accéder au compartiment Amazon S3 qui contient le fichier bibliothèque. Votre cluster doit avoir l’autorisation d’accéder au compartiment Amazon S3 avec les actions LIST et GET.  
La syntaxe de l’autorisation est identique à celle de la commande COPY. Pour plus d'informations, consultez [Paramètres d’autorisation](copy-parameters-authorization.md).  

```
IAM_ROLE { default | ‘arn:aws:iam::{{<Compte AWS-id>}}:role/{{<role-name>}}’
```
 Utilisez le mot clé par défaut pour qu’Amazon Redshift utilise le rôle IAM défini comme rôle par défaut et associé au cluster lorsque la commande CREATE LIBRARY s’exécute.  
Utilisez l’Amazon Resource Name (ARN) d’un rôle IAM que votre cluster utilise pour l’authentification et l’autorisation. Si vous spécifiez IAM\_ROLE, vous ne pouvez pas utiliser ACCESS\_KEY\_ID et SECRET\_ACCESS\_KEY, SESSION\_TOKEN ni CREDENTIALS.  
Le cas échéant, si le compartiment Amazon S3 utilise le chiffrement côté serveur, fournissez la clé de chiffrement dans la chaîne credentials-args. Si vous utilisez des informations d’identification de sécurité temporaires, fournissez le jeton temporaire dans la chaîne *credentials-args*.  
Pour plus d'informations, consultez [informations d’identification de sécurité temporaires](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials).

 REGION [AS] *région\_aws*   
 AWS Région dans laquelle se trouve le compartiment Amazon S3. REGION est obligatoire lorsque le compartiment Amazon S3 ne se trouve pas dans la même AWS région que le cluster Amazon Redshift. La valeur de *aws\_region* doit correspondre à une AWS région répertoriée dans le tableau de la description des [REGION](copy-parameters-data-source-s3.md#copy-region) paramètres de la commande COPY.  
Par défaut, CREATE LIBRARY suppose que le compartiment Amazon S3 est situé dans la même AWS région que le cluster Amazon Redshift.

## Exemples
<a name="r_CREATE_LIBRARY-examples"></a>

Les deux exemples suivants installent le module Python [urlparse](https://docs.python.org/2/library/urlparse.html#module-urlparse), qui est empaqueté dans un fichier nommé `urlparse3-1.0.3.zip`. 

La commande suivante installe une bibliothèque UDF nommée `f_urlparse` à partir d’un package qui a été téléchargé sur un compartiment Amazon S3 situé dans la région USA Est.

```
create library f_urlparse
language plpythonu
from 's3://amzn-s3-demo-bucket/urlparse3-1.0.3.zip'
credentials 'aws_iam_role=arn:aws:iam::{{<aws-account-id>}}:role/{{<role-name>}}'
region as 'us-east-1';
```

L’exemple suivant installe une bibliothèque nommée `f_urlparse` à partir d’un fichier bibliothèque sur un site web.



```
create library f_urlparse
language plpythonu
from 'https://example.com/packages/urlparse3-1.0.3.zip';
```