

 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.

# COPIER avec TEMPLATE
<a name="r_COPY-WITH-TEMPLATE"></a>

Vous pouvez utiliser les modèles Redshift avec les commandes COPY pour simplifier la syntaxe des commandes et garantir la cohérence des opérations de chargement de données. Au lieu de spécifier les mêmes paramètres de mise en forme à plusieurs reprises, vous les définissez une fois dans un modèle et vous référencez le modèle dans vos commandes COPY. Lorsque vous utilisez un modèle, la commande COPY combine les paramètres du modèle avec tous les paramètres spécifiés directement dans la commande. Si le même paramètre apparaît à la fois dans le modèle et dans la commande, le paramètre de commande est prioritaire. Pour de plus amples informations, veuillez consulter [CRÉER UN MODÈLE](r_CREATE_TEMPLATE.md). 

Les modèles pour la commande COPY peuvent être créés avec :
+ [Paramètres du format de données](copy-parameters-data-format.md)
+ [Paramètres de compression de fichier](copy-parameters-file-compression.md)
+ [Paramètres de conversion de données](copy-parameters-data-conversion.md)
+ [Opérations de chargement de données](copy-parameters-data-load.md)

Pour une liste complète des paramètres pris en charge, voir [COPY](r_COPY.md) commande.

## Autorisation obligatoire
<a name="r_COPY-WITH-TEMPLATE-privileges"></a>

Pour utiliser un modèle dans une commande COPY, vous devez disposer des éléments suivants :
+ Toutes les autorisations requises pour exécuter la commande COPY (voir[Autorisations requises](r_COPY.md#r_COPY-permissions))
+ L'une des autorisations de modèle suivantes :
  + Privilèges de superutilisateur
  + Privilège USAGE sur le modèle et privilège USAGE sur le schéma contenant le modèle

## Syntaxe
<a name="r_COPY-WITH-TEMPLATE-syntax"></a>

```
COPY target_table FROM 's3://...'
authorization
[ option, ...]
USING TEMPLATE [database_name.][schema_name.]template_name;
```

## Parameters
<a name="r_COPY-WITH-TEMPLATE-parameters"></a>

 *database\$1name*   
(Facultatif) Nom de la base de données dans laquelle le modèle existe. Si elle n'est pas spécifiée, la base de données actuelle est utilisée.

 *nom\$1schéma*   
(Facultatif) Nom du schéma dans lequel le modèle existe. S'il n'est pas spécifié, le modèle est recherché dans le chemin de recherche actuel.

 *nom\$1modèle*   
Nom du modèle à utiliser dans COPY. 

## Notes d’utilisation
<a name="r_COPY-WITH_TEMPLATE-usage-notes"></a>
+ Les paramètres spécifiques à la commande (source, destination, autorisation) doivent toujours être spécifiés dans la commande COPY.
+ Les modèles ne peuvent pas contenir de spécifications de fichier manifeste pour les commandes COPY.

## Exemples
<a name="r_COPY-WITH-TEMPLATE-examples"></a>

Les exemples suivants montrent comment créer un modèle et l'utiliser dans les commandes COPY :

```
CREATE TEMPLATE public.test_template FOR COPY AS
CSV DELIMITER '|' IGNOREHEADER 1 MAXERROR 100;

COPY public.target_table
FROM 's3://amzn-s3-demo-bucket/staging-folder'
IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName'
USING TEMPLATE public.test_template;
```

Lorsqu'un paramètre existe à la fois dans le modèle et dans la commande, le paramètre de commande est prioritaire. Dans cet exemple, si le modèle `public.test_template` contient `DELIMITER '|'` mais que la commande COPY le spécifie`DELIMITER ','`, le séparateur de virgule (`,`) de la commande sera utilisé à la place du séparateur de canaux (`|`) du modèle. 

```
COPY public.target_table
FROM 's3://amzn-s3-demo-bucket/staging-folder'
IAM_ROLE 'arn:aws:iam::123456789012:role/MyLoadRoleName'
DELIMITER ','
USING TEMPLATE public.test_template;
```