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 : |
artifact_repository optional, string |
Nom du référentiel d’artefacts. Snowflake dispose d’un référentiel d’artefacts par défaut appelé |
artifact_repository_packages optional, string |
Noms des paquets qui proviendraient du référentiel d’artefacts. Notez que les paquets contenus dans le fichier Les paramètres
Pour les paquets qui dépendent d’architectures spécifiques, vous pouvez les définir dans le paramètre test_function:
type: "function"
handler: "app.udf"
identifier:
name: "udf"
stage: "dev_deployment"
signature: ""
returns: float
artifact_repository: snowflake.snowpark.pypi_shared_repository
artifact_repository_packages:
- 'scikit-learn'
artifacts:
- "app.py"
resource_constraint:
architecture: 'x86'
Pour plus d’informations, voir Paquets conçus uniquement pour x86. |
artifacts requis, séquence de chaînes |
Liste des paires de fichiers source et destination à ajouter à la racine du déploiement. Vous pouvez utiliser les propriétés d’artefacts suivantes :
Si Vous pouvez également transmettre une chaîne pour chaque élément au lieu d’un |
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.9 ». |
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. Pour plus de détails, voir le paramètre EXTERNAL_ACCESS_INTEGRATIONS dans CREATE PROCEDURE. |
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. Pour plus de détails, voir le paramètre |
imports optional, string sequence |
Zone de préparation et chemin d’accès aux fichiers en zone de préparation que vous souhaitez importer. Pour plus de détails, voir le paramètre |
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). |