Amazon Redshift ne prendra plus en charge l'utilisation des UDF Python après le 30 juin 2026. Nous allons commencer à l'appliquer par étapes. Pour plus d'informations sur les détails de la fin de vie de Python et des options de migration, consultez le billet de
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.
CRÉER UN MODÈLE
Crée des modèles réutilisables pour les commandes Amazon Redshift telles queCOPY. Les modèles stockent les paramètres couramment utilisés qui peuvent être référencés lors de plusieurs exécutions de commandes, ce qui améliore la cohérence et réduit la spécification manuelle des paramètres.
Les modèles éliminent la nécessité de spécifier à plusieurs reprises les mêmes paramètres de mise en forme pour plusieurs opérations, tandis que les chemins source, les tables cibles et les autorisations peuvent varier d'une opération à l'autre.
Privilèges requis
Pour créer un modèle, vous devez disposer de l'un des éléments suivants :
-
Privilèges de superutilisateur
-
Autorisation CREATE sur le schéma dans lequel vous souhaitez créer le modèle, ou autorisation étendue CREATE sur les schémas de la base de données dans laquelle vous souhaitez créer le modèle
Syntaxe
CREATE [ OR REPLACE ] TEMPLATE [database_name.][schema_name.]template_name FOR COPY [ AS ] [ [ FORMAT ] [ AS ] data_format ] [ parameter [ argument ] [ , ... ] ];
Parameters
- OU REMPLACEZ
-
Si un modèle du même nom existe déjà dans la base de données et le schéma spécifiés, le modèle existant est remplacé. Vous pouvez uniquement remplacer un modèle par un nouveau modèle qui définit le même type d'opération, par exemple COPY. Vous devez disposer des privilèges nécessaires pour remplacer un modèle.
- database_name
-
(Facultatif) Le nom de la base de données dans laquelle le modèle sera créé. S'il n'est pas spécifié, le modèle est créé dans la base de données en cours.
Si la base de données ou le schéma n'existe pas, le modèle n'est pas créé et l'instruction renvoie une erreur. Vous ne pouvez pas créer de modèles dans les bases de données système
template0template1,padb_harvest, ousys:internal. - nom_schéma
-
(Facultatif) Le nom du schéma dans lequel le modèle sera créé. S'il n'est pas spécifié, le modèle est créé dans le schéma actuel.
Si un nom de schéma est donné, le nouveau modèle est créé dans ce schéma (en supposant que le créateur a accès au schéma). Le nom du modèle doit être un nom unique pour ce schéma.
- nom_modèle
-
Le nom du modèle à créer. Le nom du modèle peut éventuellement être qualifié à l'aide du nom de la base de données et du schéma. Dans l'exemple suivant, le nom de la base de données est
demo_database, le nom du schéma estdemo_schemaet le nom du modèle esttest. Pour plus d’informations sur les noms valides, consultez Noms et identificateurs.CREATE TEMPLATE demo_database.demo_schema.test FOR COPY AS CSV; - COPY
-
Spécifie le type de commande Redshift pour lequel le modèle est créé. Actuellement, seule la commande COPY est prise en charge.
- [[FORMAT] [AS] data_format]
-
Ce paramètre est facultatif. Ceci spécifie le format de données pour les opérations COPY.
- [paramètre [argument]]
-
Tout paramètre valide pour la commande redshift spécifiée.
Par exemple, les modèles pour la commande COPY peuvent inclure :
Pour une liste complète des paramètres pris en charge, voir COPY la commande.
Notes d’utilisation
Par défaut, tous les utilisateurs ont les privilèges CREATE et USAGE sur le schéma PUBLIC. Pour interdire aux utilisateurs de créer des objets dans le schéma PUBLIC d’une base de données, utilisez la commande REVOKE pour supprimer ce privilège.
Lorsqu'un paramètre existe à la fois dans le modèle et dans la commande, le paramètre de commande est prioritaire.
Les modèles sont des objets de base de données et suivent les règles d'autorisation et de dénomination des objets Redshift standard. Pour plus d’informations sur les noms valides, consultez Noms et identificateurs.
Les modèles ne peuvent pas contenir de spécifications de fichier manifeste pour les COPY commandes.
Limitations
Au moins un paramètre doit être spécifié lors de la création d'un modèle.
Paramètres exclus : les Command-specific paramètres tels que les chemins sources, les tables cibles, les informations d'autorisation et les spécifications des fichiers manifestes ne peuvent pas être inclus dans les modèles. Ces paramètres doivent être spécifiés dans la commande proprement dite.
Nombre maximum de modèles par cluster : vous pouvez créer un maximum de 1 000 modèles par cluster. Cette limite s'applique au nombre total de modèles dans toutes les bases de données et tous les schémas du cluster.
Cross-database références — Les modèles ne peuvent pas être référencés dans toutes les bases de données.
Partage des données : les modèles ne peuvent pas être inclus dans les partages de données. Les modèles doivent être créés séparément dans chaque cluster où ils sont nécessaires.
Exemples
L'exemple suivant crée un modèle pour la commande COPY
CREATE TEMPLATE test_schema.demo_template FOR COPY AS FORMAT JSON 'auto' NULL AS '' MAXERROR 100;
Utilisez AFFICHER LE MODÈLE pour obtenir la définition du modèle :
SHOW TEMPLATE test_schema.demo_template;CREATE OR REPLACE TEMPLATE dev.test_schema.demo_template FOR COPY AS FORMAT AS JSON 'auto' NULL '' MAXERROR 100;
Interrogez la vue MODÈLE_SYS_REDSHIFT_ système pour obtenir plus de détails sur un modèle.
SELECT * FROM SYS_REDSHIFT_TEMPLATE;database_name | schema_name | template_name | template_type | create_time | last_modified_time | owner_id | last_modified_by | template_parameters ---------------+-------------+---------------+---------------+----------------------------+----------------------------+----------+------------------+--------------------- dev | test_schema | demo_template | 1 | 2025-12-17 20:06:01.944171 | 2025-12-17 20:06:01.944171 | 1 | 1 | { "JSON": "auto", "MAXERROR": 100, "NULL": "" }