Créer une définition de projet Snowpark¶
Le fichier snowflake.yml
contient les déclarations de fonctions et de procédures pour un projet Snowpark.
Note
Actuellement, le fichier de définition du projet Snowpark doit être nommé snowflake.yml
.
L’extrait suivant montre un exemple de fichier de définition de projet Snowpark : avec deux fonctions et deux procédures. La fonction hello_function
utilise les capacités externes de Snowpark.
definition_version: '2'
mixins:
snowpark_shared:
artifacts:
- dest: my_snowpark_project
src: app/
stage: dev_deployment
entities:
hello_function:
type: function
identifier:
name: hello_function
handler: functions.hello_function
signature:
- name: name
type: string
returns: string
external_access_integrations:
- my_external_access
secrets:
cred: my_cred_name
meta:
use_mixins:
- snowpark_shared
hello_procedure:
type: procedure
identifier:
name: hello_procedure
handler: procedures.hello_procedure
signature:
- name: name
type: string
returns: string
meta:
use_mixins:
- snowpark_shared
test_procedure:
type: procedure
identifier:
name: test_procedure
handler: procedures.test_procedure
signature: ''
returns: string
meta:
use_mixins:
- snowpark_shared
Prudence
Les fichiers se trouvant dans le répertoire d’un projet sont traités par Snowflake CLI et peuvent être téléchargés vers Snowflake lors de l’exécution d’autres commandes snow snowpark
. Vous devez faire preuve de prudence lorsque vous placez des informations sensibles dans les fichiers d’un répertoire de projet.
Propriétés des objets de fonction et de procédure¶
Le tableau suivant décrit les propriétés utilisées par les fonctions et les procédures.
Propriété |
Définition |
---|---|
identifier optional, string |
Identificateur Snowflake facultatif pour l’entité. La valeur peut avoir les formes suivantes :
|
type optional, string |
Doit être au choix : |
artifacts requis, séquence de chaînes |
Liste des ressources requises. |
handler required, string |
Implémentation par la fonction ou la procédure de l’objet contenu dans le module défini dans |
returns required, string |
Type SQL du résultat. Consultez la liste des types disponibles. |
signature required, sequence |
Le paramètre signature:
- name: "first_argument"
type: int
- name: "second_argument"
default: "default value"
type: string
Si une fonction ou une procédure ne prend aucun argument, cette valeur est une chaîne vide ( Vérifiez la colonne Type SQL des types disponibles. Pour en savoir plus sur la syntaxe des arguments nommés et facultatifs, consultez Appeler une UDF qui a des arguments optionnels. |
runtime optional, string |
Version de Python à utiliser lors de l’exécution de la procédure ou de la fonction. Par défaut : « 3.8 ». |
external_access_integrations optional, string sequence |
Noms des intégrations d’accès externe nécessaires pour que le code du handler (gestionnaire) de cette procédure puisse accéder aux réseaux externes. Voir CREATE PROCEDURE pour plus de détails. |
secrets optional, dictionary |
Attribue les noms des secrets aux variables afin que vous puissiez utiliser les variables pour référencer les secrets lors de la récupération des informations des secrets dans le code du gestionnaire. Voir CREATE PROCEDURE pour plus de détails. |
imports optional, string sequence |
Zone de préparation et chemin d’accès aux fichiers en zone de préparation que vous souhaitez importer. Voir CREATE PROCEDURE pour plus de détails. |
execute_as_caller optional, bool |
Disponible uniquement pour les procédures. Déterminez si la procédure est exécutée avec les privilèges du propriétaire (vous) ou avec les privilèges de l’appelant. Par défaut : False (privilèges du propriétaire). |