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>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
Arguments¶
Aucun(e)
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ù le projet Snowflake est stocké. 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 d’accès au fichier contenant un jeton OAuth à utiliser 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 une connexion définie avec les paramètres de la ligne de commande, au lieu d’une connexion définie dans la configuration. Par défaut : false.
--mfa-passcode TEXT
Jeton à utiliser pour l’authentification multifactorielle (MFA)
--enable-diag
Indique s’il faut générer un rapport de diagnostic de la connexion. Par défaut : false.
--diag-log-path TEXT
Chemin d’accès au rapport généré. Il s’agit du répertoire temporaire du système par défaut. Par défaut : <system_temporary_directory>.
--diag-allowlist-path TEXT
Chemin d’accès à un fichier JSON contenant les paramètres de la liste d’autorisations.
--oauth-client-id TEXT
Valeur de l’identifiant du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-client-secret TEXT
Valeur du secret du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-authorization-url TEXT
Point de terminaison du fournisseur d’identité fournissant le code d’autorisation au pilote.
--oauth-token-request-url TEXT
Point de terminaison du fournisseur d’identité fournissant les jetons d’accès au pilote.
--oauth-redirect-uri TEXT
URI à utiliser pour la redirection du code d’autorisation.
--oauth-scope TEXT
Champ d’application demandé dans la requête d’autorisation du fournisseur d’identité.
--oauth-disable-pkce
Désactive la clé de preuve pour l’échange de code (PKCE). Par défaut :
False
.--oauth-enable-refresh-tokens
Permet une réauthentification silencieuse lorsque le jeton d’accès actuel n’est plus valable. Par défaut :
False
.--oauth-enable-single-use-refresh-tokens
Indique s’il faut choisir une sémantique de jeton d’actualisation à usage unique. Par défaut :
False
.--client-store-temporary-credential
Enregistrez les identifiants de connexion temporaires.
--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.
--enhanced-exit-codes
Différenciez les codes d’erreur de sortie en fonction du type d’erreur. 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.