snow package create¶
Erstellt ein Python-Paket als ZIP-Datei, das in einen Stagingbereich hochgeladen und für eine Snowpark Python-App importiert werden kann.
Syntax¶
snow snowpark package create
<name>
--ignore-anaconda
--index-url <index_url>
--skip-version-check
--allow-shared-libraries
--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
Argumente¶
name
Name des zu erstellenden Pakets.
Optionen¶
--ignore-anaconda
Sucht nicht nach Paketen im Snowflake-Anaconda-Kanal. Standard: false
--index-url TEXT
Basis-URL des Python Package Index, der für die Paketsuche verwendet wird. Diese sollte auf ein Repository verweisen, das mit PEP 503 (die einfache Repository-API) kompatibel ist, oder auf ein lokales Verzeichnis, das im gleichen Format angelegt ist.
--skip-version-check
Versionsvergleich von Abhängigkeiten zwischen Anforderungen und Anaconda wird übersprungen. Standard: false
--allow-shared-libraries
Erlaubt freigegeben Bibliotheken (.so), wenn Sie Pakete verwenden, die über PIP installiert wurden. Standard: false
--connection, -c, --environment TEXT
Name der Verbindung, wie in Ihrer
config.toml
-Datei definiert. Standard:Standard
.--host TEXT
Host-Adresse für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--port INTEGER
Port für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--account, --accountname TEXT
Name, der Ihrem Snowflake-Konto zugewiesen wurde. Überschreibt den für die Verbindung angegebenen Wert.
--user, --username TEXT
Benutzername für die Verbindung zu Snowflake. Überschreibt den für die Verbindung angegebenen Wert.
--password TEXT
Snowflake-Kennwort. Überschreibt den für die Verbindung angegebenen Wert.
--authenticator TEXT
Snowflake-Authentifikator. Überschreibt den für die Verbindung angegebenen Wert.
--private-key-file, --private-key-path TEXT
Dateipfad zum privaten Snowflake-Schlüssel. Überschreibt den für die Verbindung angegebenen Wert.
--token-file-path TEXT
Pfad zur Datei mit einem OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--database, --dbname TEXT
Zu verwendende Datenbank. Überschreibt den für die Verbindung angegebenen Wert.
--schema, --schemaname TEXT
Zu verwendendes Datenbankschema. Überschreibt den für die Verbindung angegebenen Wert.
--role, --rolename TEXT
Zu verwendende Rolle. Überschreibt den für die Verbindung angegebenen Wert.
--warehouse TEXT
Zu verwendendes Warehouse. Überschreibt den für die Verbindung angegebenen Wert.
--temporary-connection, -x
Verwendet eine mit Befehlszeilenparametern definierte Verbindung anstelle einer in config definierten. Standard: false
--mfa-passcode TEXT
Für die mehrstufige Authentifizierung (MFA) zu verwendendes Token.
--enable-diag
Ob ein Verbindungsdiagnosebericht erstellt werden soll. Standard: false
--diag-log-path TEXT
Pfad für den generierten Bericht. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet. Standard: <system_temporary_directory>.
--diag-allowlist-path TEXT
Pfad zu einer JSON-Datei, die allowlist-Parameter enthält.
--oauth-client-id TEXT
Wert der Client-ID, die vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-client-secret TEXT
Wert des Client-Geheimnisses, das vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-authorization-url TEXT
Endpunkt des Identitätsanbieters, der den Autorisierungscode an den Treiber liefert.
--oauth-token-request-url TEXT
Endpunkt des Identitätsanbieters, der die Zugriffstoken für den Treiber bereitstellt.
--oauth-redirect-uri TEXT
Für die Umleitung des Autorisierungscodes zu verwendende URI.
--oauth-scope TEXT
Bereich, der in der Autorisierungsanfrage des Identitätsanbieters angefordert wird.
--oauth-disable-pkce
Deaktiviert den Proof Key For Code Exchange (PKCE). Standard:
False
.--oauth-enable-refresh-tokens
Ermöglicht eine stille Neuauthentifizierung, wenn das aktuelle Zugriffstoken veraltet ist. Standard:
False
.--oauth-enable-single-use-refresh-tokens
Ob Sie sich für die Semantik des einmaligen Aktualisierungs-Tokens entscheiden. Standard:
False
.--client-store-temporary-credential
Speichern der temporären Anmeldeinformationen.
--format [TABLE|JSON]
Gibt das Ausgabeformat an. Standard: TABLE.
--verbose, -v
Zeigt Protokolleinträge für die Protokolliergrade
info
und höher an. Standard: false--debug
Zeigt Protokolleinträge für die Protokollebenen
debug
und höher an; Debug-Protokolle enthalten zusätzliche Informationen. Standard: false--silent
Schaltet Zwischenausgaben auf der Konsole aus. Standard: false
--enhanced-exit-codes
Exit-Fehlercodes nach Art des Fehlers unterscheiden. Standard: false
--help
Zeigt den Hilfetext für diesen Befehl an.
Nutzungshinweise¶
Der snowpark package create
-Befehl bewirkt Folgendes:
Erstellt ein Artefakt, das zum Hochladen in einen Stagingbereich bereit ist.
Prüft, ob native Bibliotheken vorhanden sind, und fragt, ob Sie fortfahren möchten. Wenn die nativen Bibliotheken in den heruntergeladenen Paketen vorhanden sind, funktioniert dieser Befehl genauso wie der Befehl
snowpark package build
.
Beispiele¶
In diesem Beispiel wird ein Python-Paket als ZIP-Datei erstellt, die in einen Stagingbereich hochgeladen und später von einer Snowpark Python-App importiert werden kann. Die Abhängigkeiten für das Paket „july“ befinden sich im Anaconda-Kanal, daher wurden sie aus der Datei
.zip
ausgeschlossen. Der Befehl zeigt die Pakete an, die Sie in die Dateirequirements.txt
Ihres Snowpark-Projekts aufnehmen müssen.snow snowpark package create july==0.1
Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition. The package july is successfully created, but depends on the following Anaconda libraries. They need to be included in project requirements, as their are not included in .zip. matplotlib contourpy >=1.0.1 numpy>=1.20 bokeh selenium mypy==1.8.0 Pillow pytest-xdist wurlitzer cycler >=0.10 fonttools >=4.22.0 kiwisolver >=1.3.1 pyparsing >=2.3.1 jinja2 python-dateutil >=2.7 six >=1.5 importlib-resources >=3.2.0
In diesem Beispiel wird das Paket
july.zip
erstellt, das Sie in Ihrem Snowpark-Projekt verwenden können, ohne dass Sie der Dateirequirements.txt
irgendwelche Abhängigkeiten hinzufügen müssen. Die Fehlermeldungen weisen darauf hin, dass einige Pakete freigegebene Bibliotheken enthalten, die möglicherweise nicht funktionieren, z. B. wenn Sie ein Paket unter Windows erstellen.snow snowpark package create july==0.1 --ignore-anaconda --allow-shared-libraries
2024-04-11 16:24:56 ERROR Following dependencies utilise shared libraries, not supported by Conda: 2024-04-11 16:24:56 ERROR numpy contourpy fonttools kiwisolver matplotlib pillow 2024-04-11 16:24:56 ERROR You may still try to create your package with --allow-shared-libraries, but the might not work. 2024-04-11 16:24:56 ERROR You may also request adding the package to Snowflake Conda channel 2024-04-11 16:24:56 ERROR at https://support.anaconda.com/ Package july.zip created. You can now upload it to a stage using snow snowpark package upload -f july.zip -s <stage-name>` and reference it in your procedure or function. Remember to add it to imports in the procedure or function definition.
In diesem Beispiel kann das Paket nicht erstellt werden, da es bereits existiert. Sie können das Erstellen des Pakets immer noch erzwingen, indem Sie die Option
--ignore-anaconda
verwenden.snow snowpark package create matplotlib
Package matplotlib is already available in Snowflake Anaconda Channel.