snow snowpark build¶
Crée les artefacts requis pour le projet Snowpark. Les artefacts peuvent être utilisés par la commande deploy
. Pour chaque répertoire dans les artefacts, un fichier .zip est créé. Toutes les dépendances hors Anaconda sont regroupées dans le fichier dependencies.zip.
Syntaxe¶
snow snowpark build
--ignore-anaconda
--allow-shared-libraries
--index-url <index_url>
--skip-version-check
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Arguments¶
Aucun
Options¶
--ignore-anaconda
Ne consulte pas les paquets sur le canal de Snowflake Anaconda. Par défaut : false.
--allow-shared-libraries
Autorise les bibliothèques partagées (.so) lors de l’utilisation de paquets installés par l’intermédiaire de PIP. Par défaut : false.
--index-url TEXT
URL de base de l’index des paquets Python à utiliser pour la recherche de paquets. Ceci doit pointer vers un référentiel conforme à PEP 503 (l’API de référentiel simple) ou vers un répertoire local présenté dans le même format.
--skip-version-check
Ne comparez pas les versions des dépendances entre les exigences et Anaconda. Par défaut : false.
-p, --project TEXT
Chemin où réside le projet Snowflake. La valeur par défaut est le répertoire de travail actuel.
--env TEXT
Chaîne au format clé=valeur. Remplace les variables de la section env utilisées pour les modèles. Par défaut : [].
--connection, -c, --environment TEXT
Nom de la connexion, tel que défini dans votre fichier
config.toml
. Défaut :défaut
.--host TEXT
Adresse de l’hôte pour la connexion. Remplace la valeur spécifiée pour la connexion.
--port INTEGER
Port pour la connexion. Remplace la valeur spécifiée pour la connexion.
--account, --accountname TEXT
Nom attribué à votre compte Snowflake. Remplace la valeur spécifiée pour la connexion.
--user, --username TEXT
Nom d’utilisateur pour se connecter à Snowflake. Remplace la valeur spécifiée pour la connexion.
--password TEXT
Mot de passe Snowflake. Remplace la valeur spécifiée pour la connexion.
--authenticator TEXT
Authentificateur Snowflake. Remplace la valeur spécifiée pour la connexion.
--private-key-file, --private-key-path TEXT
Chemin du fichier de clé privée Snowflake. Remplace la valeur spécifiée pour la connexion.
--token-file-path TEXT
Chemin vers un fichier avec un jeton OAuth qui doit être utilisé lors de la connexion à Snowflake.
--database, --dbname TEXT
Base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--schema, --schemaname TEXT
Schéma de la base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--role, --rolename TEXT
Rôle à utiliser. Remplace la valeur spécifiée pour la connexion.
--warehouse TEXT
Entrepôt à utiliser. Remplace la valeur spécifiée pour la connexion.
--temporary-connection, -x
Utilise la connexion définie avec les paramètres de la ligne de commande, au lieu de celle définie dans la configuration. Par défaut : false.
--mfa-passcode TEXT
Jeton à utiliser pour l’authentification multifactorielle (MFA)
--enable-diag
Exécutez le test de diagnostic du Python Connector. Par défaut : false.
--diag-log-path TEXT
Chemin d’accès au rapport de diagnostic. Par défaut : <temporary_directory>.
--diag-allowlist-path TEXT
Chemin d’accès au rapport de diagnostic vers la liste d’autorisations facultative.
--format [TABLE|JSON]
Spécifie le format de sortie. Par défaut : TABLE.
--verbose, -v
Affiche les entrées de journal pour les niveaux de journalisation
info
et supérieurs. Par défaut : false.--debug
Affiche les entrées de journal pour les niveaux de journalisation
debug
et supérieurs ; les journaux de débogage contiennent des informations supplémentaires. Par défaut : false.--silent
Désactive la sortie intermédiaire vers la console. Par défaut : false.
--help
Affiche le texte d’aide de cette commande.
Notes sur l’utilisation¶
app.zip
contient tout ce qui est nécessaire pour exécuter les fonctions et les procédures du projet, à l’exception des paquets disponibles via le canal Anaconda de Snowflake, que vous pouvez appeler directement depuis Snowflake.La commande analyse
requirements.txt
pour les paquets disponibles sur le canal Conda. Ce processus crée le fichierrequirements.snowflake.txt
qui contient les dépendances du projet disponibles sur le canal Conda, qui est ensuite utilisé par la commandesnow snowpark deploy
.Par défaut, la commande recherche le fichier
snowflake.yml
dans le répertoire actuel. Vous pouvez également spécifier un chemin différent à l’aide de l’option--project
.Cette commande télécharge automatiquement les dépendances et les ajoute à un fichier appelé
app.zip
, ainsi que le code source du projet (spécifié par le champsrc
dans le fichiersnowflake.yml
.Pour utiliser un Python Package Index différent de celui de PyPi, spécifiez-le à l’aide de l’option
--index-url
.Vous pouvez utiliser l’option
--skip-version-check
pour sauter les exigences de version entre les dépendances du projet et le canal Anaconda.Vous pouvez utiliser l’option
--ignore-anaconda
pour inclure toutes les dépendances requises dans le fichierapp.zip
, même celles disponibles dans le canal Snowflake Anaconda. Les dépendances ne sont pas téléchargées depuis Anaconda, mais depuis PyPi.L’option
--allow-shared-libraries
vérifie si les paquets téléchargés à partir de PyPi utilisent des dépendances natives, ce qui peut poser des problèmes car Snowpark ne prend actuellement en charge que les dépendances natives pour les paquets provenant du canal Conda
Exemples¶
Construire un projet situé dans le répertoire actuel :
snow snowpark build
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.
Construire un projet situé dans un répertoire différent :
ls
project_dir some_other_dir some_file.txt
snow snowpark build -p project_dir
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.
Construire un projet dans un répertoire sans définition de projet
snowflake.yml
:ls
project_dir some_other_dir some_file.txt
snow snowpark build
╭─ Error ──────────────────────────────────────────────────────────╮ Cannot find project definition (snowflake.yml). Please provide a path to the project or run this command in a valid project directory. ╰──────────────────────────────────────────────────────────────────╯
Construire un projet avec des bibliothèques natives :
snow snowpark build --ignore-anaconda --allow-shared-libraries
2024-04-16 16:05:52 ERROR Following dependencies utilise shared libraries, not supported by Conda: 2024-04-16 16:05:52 ERROR contourpy pillow numpy kiwisolver fonttools matplotlib 2024-04-16 16:05:52 ERROR You may still try to create your package with --allow-shared-libraries, but the might not work. 2024-04-16 16:05:52 ERROR You may also request adding the package to Snowflake Conda channel 2024-04-16 16:05:52 ERROR at https://support.anaconda.com/ Build done. Artifact path: /Path/to/current/dir/project_dir/app.zip
Construire un projet et inclure toutes les dépendances :
snow snowpark build --ignore-anaconda
Resolving dependencies from requirements.txt No external dependencies. Preparing artifacts for source code Creating: app.zip Build done.