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>
--workload-identity-provider <workload_identity_provider>
--private-key-file <private_key_file>
--token <token>
--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-anacondaNe consulte pas les paquets sur le canal de Snowflake Anaconda. Par défaut : false.
--allow-shared-librariesAutorise 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 TEXTURL 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-checkNe comparez pas les versions des dépendances entre les exigences et Anaconda. Par défaut : false.
-p, --project TEXTChemin où le projet Snowflake est stocké. La valeur par défaut est le répertoire de travail actuel.
--env TEXTChaîne au format clé=valeur. Remplace les variables de la section env utilisées pour les modèles. Par défaut : [].
--connection, -c, --environment TEXTNom de la connexion, tel que défini dans votre fichier
config.toml. Défaut :défaut.--host TEXTAdresse de l’hôte pour la connexion. Remplace la valeur spécifiée pour la connexion.
--port INTEGERPort pour la connexion. Remplace la valeur spécifiée pour la connexion.
--account, --accountname TEXTNom attribué à votre compte Snowflake. Remplace la valeur spécifiée pour la connexion.
--user, --username TEXTNom d’utilisateur pour se connecter à Snowflake. Remplace la valeur spécifiée pour la connexion.
--password TEXTMot de passe Snowflake. Remplace la valeur spécifiée pour la connexion.
--authenticator TEXTAuthentificateur Snowflake. Remplace la valeur spécifiée pour la connexion.
--workload-identity-provider TEXTFournisseur d’identité de charge de travail (AWS, AZURE, GCP, OIDC). Remplace la valeur spécifiée pour la connexion.
--private-key-file, --private-key-path TEXTChemin du fichier de clé privée Snowflake. Remplace la valeur spécifiée pour la connexion.
--token TEXTJeton OAuth à utiliser lors de la connexion à Snowflake.
--token-file-path TEXTChemin d’accès au fichier contenant un jeton OAuth à utiliser lors de la connexion à Snowflake.
--database, --dbname TEXTBase de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--schema, --schemaname TEXTSchéma de la base de données à utiliser. Remplace la valeur spécifiée pour la connexion.
--role, --rolename TEXTRôle à utiliser. Remplace la valeur spécifiée pour la connexion.
--warehouse TEXTEntrepôt à utiliser. Remplace la valeur spécifiée pour la connexion.
--temporary-connection, -xUtilise 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 TEXTJeton à utiliser pour l’authentification multifactorielle (MFA)
--enable-diagIndique s’il faut générer un rapport de diagnostic de la connexion. Par défaut : false.
--diag-log-path TEXTChemin 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 TEXTChemin d’accès à un fichier JSON contenant les paramètres de la liste d’autorisations.
--oauth-client-id TEXTValeur de l’identifiant du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-client-secret TEXTValeur du secret du client fourni par le fournisseur d’identité pour l’intégration dans Snowflake.
--oauth-authorization-url TEXTPoint de terminaison du fournisseur d’identité fournissant le code d’autorisation au pilote.
--oauth-token-request-url TEXTPoint de terminaison du fournisseur d’identité fournissant les jetons d’accès au pilote.
--oauth-redirect-uri TEXTURI à utiliser pour la redirection du code d’autorisation.
--oauth-scope TEXTChamp d’application demandé dans la requête d’autorisation du fournisseur d’identité.
--oauth-disable-pkceDésactive la clé de preuve pour l’échange de code (PKCE). Par défaut :
False.--oauth-enable-refresh-tokensPermet une réauthentification silencieuse lorsque le jeton d’accès actuel n’est plus valable. Par défaut :
False.--oauth-enable-single-use-refresh-tokensIndique s’il faut choisir une sémantique de jeton d’actualisation à usage unique. Par défaut :
False.--client-store-temporary-credentialEnregistrez les identifiants de connexion temporaires.
--format [TABLE|JSON|JSON_EXT|CSV]Spécifie le format de sortie. Par défaut : TABLE.
--verbose, -vAffiche les entrées de journal pour les niveaux de journalisation
infoet supérieurs. Par défaut : false.--debugAffiche les entrées de journal pour les niveaux de journalisation
debuget supérieurs ; les journaux de débogage contiennent des informations supplémentaires. Par défaut : false.--silentDésactive la sortie intermédiaire vers la console. Par défaut : false.
--enhanced-exit-codesDifférenciez les codes d’erreur de sortie en fonction du type d’erreur. Par défaut : false.
--helpAffiche le texte d’aide de cette commande.
Notes sur l’utilisation¶
app.zipcontient 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.txtpour les paquets disponibles sur le canal Conda. Ce processus crée le fichierrequirements.snowflake.txtqui 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.ymldans 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 champsrcdans 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-checkpour sauter les exigences de version entre les dépendances du projet et le canal Anaconda.Vous pouvez utiliser l’option
--ignore-anacondapour 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-librariesvé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.txtsnow 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.txtsnow 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.