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>
  --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
Argumente¶
nameName des zu erstellenden Pakets.
Optionen¶
--ignore-anacondaSucht nicht nach Paketen im Snowflake-Anaconda-Kanal. Standard: false
--index-url TEXTBasis-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-checkVersionsvergleich von Abhängigkeiten zwischen Anforderungen und Anaconda wird übersprungen. Standard: false
--allow-shared-librariesErlaubt freigegeben Bibliotheken (.so), wenn Sie Pakete verwenden, die über PIP installiert wurden. Standard: false
--connection, -c, --environment TEXTName der Verbindung, wie in Ihrer
config.toml-Datei definiert. Standard:Standard.--host TEXTHost-Adresse für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--port INTEGERPort für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--account, --accountname TEXTName, der Ihrem Snowflake-Konto zugewiesen wurde. Überschreibt den für die Verbindung angegebenen Wert.
--user, --username TEXTBenutzername für die Verbindung zu Snowflake. Überschreibt den für die Verbindung angegebenen Wert.
--password TEXTSnowflake-Kennwort. Überschreibt den für die Verbindung angegebenen Wert.
--authenticator TEXTSnowflake-Authentifikator. Überschreibt den für die Verbindung angegebenen Wert.
--workload-identity-provider TEXTWorkload-Identitätsanbieter (AWS, AZURE, GCP, OIDC). Überschreibt den für die Verbindung angegebenen Wert.
--private-key-file, --private-key-path TEXTDateipfad zum privaten Snowflake-Schlüssel. Überschreibt den für die Verbindung angegebenen Wert.
--token TEXTOAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--token-file-path TEXTPfad zur Datei mit einem OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--database, --dbname TEXTZu verwendende Datenbank. Überschreibt den für die Verbindung angegebenen Wert.
--schema, --schemaname TEXTZu verwendendes Datenbankschema. Überschreibt den für die Verbindung angegebenen Wert.
--role, --rolename TEXTZu verwendende Rolle. Überschreibt den für die Verbindung angegebenen Wert.
--warehouse TEXTZu verwendendes Warehouse. Überschreibt den für die Verbindung angegebenen Wert.
--temporary-connection, -xVerwendet eine mit Befehlszeilenparametern definierte Verbindung anstelle einer in config definierten. Standard: false
--mfa-passcode TEXTFür die mehrstufige Authentifizierung (MFA) zu verwendendes Token.
--enable-diagOb ein Verbindungsdiagnosebericht erstellt werden soll. Standard: false
--diag-log-path TEXTPfad für den generierten Bericht. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet. Standard: <system_temporary_directory>.
--diag-allowlist-path TEXTPfad zu einer JSON-Datei, die allowlist-Parameter enthält.
--oauth-client-id TEXTWert der Client-ID, die vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-client-secret TEXTWert des Client-Geheimnisses, das vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-authorization-url TEXTEndpunkt des Identitätsanbieters, der den Autorisierungscode an den Treiber liefert.
--oauth-token-request-url TEXTEndpunkt des Identitätsanbieters, der die Zugriffstoken für den Treiber bereitstellt.
--oauth-redirect-uri TEXTFür die Umleitung des Autorisierungscodes zu verwendende URI.
--oauth-scope TEXTBereich, der in der Autorisierungsanfrage des Identitätsanbieters angefordert wird.
--oauth-disable-pkceDeaktiviert den Proof Key For Code Exchange (PKCE). Standard:
False.--oauth-enable-refresh-tokensErmöglicht eine stille Neuauthentifizierung, wenn das aktuelle Zugriffstoken veraltet ist. Standard:
False.--oauth-enable-single-use-refresh-tokensOb Sie sich für die Semantik des einmaligen Aktualisierungs-Tokens entscheiden. Standard:
False.--client-store-temporary-credentialSpeichern der temporären Anmeldeinformationen.
--format [TABLE|JSON|JSON_EXT|CSV]Gibt das Ausgabeformat an. Standard: TABLE.
--verbose, -vZeigt Protokolleinträge für die Protokolliergrade
infound höher an. Standard: false--debugZeigt Protokolleinträge für die Protokollebenen
debugund höher an; Debug-Protokolle enthalten zusätzliche Informationen. Standard: false--silentSchaltet Zwischenausgaben auf der Konsole aus. Standard: false
--enhanced-exit-codesExit-Fehlercodes nach Art des Fehlers unterscheiden. Standard: false
--helpZeigt 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
.zipausgeschlossen. Der Befehl zeigt die Pakete an, die Sie in die Dateirequirements.txtIhres 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.ziperstellt, das Sie in Ihrem Snowpark-Projekt verwenden können, ohne dass Sie der Dateirequirements.txtirgendwelche 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-anacondaverwenden.snow snowpark package create matplotlib
Package matplotlib is already available in Snowflake Anaconda Channel.