snow app version create¶
Fügt einen neuen Patch zu der in Ihrem Anwendungspaket definierten Version hinzu. Wenn die Version nicht existiert, wird eine Version mit Patch 0 erstellt.
Syntax¶
snow app version create
  <version>
  --patch <patch>
  --label <label>
  --skip-git-check
  --from-stage
  --interactive / --no-interactive
  --force
  --package-entity-id <package_entity_id>
  --app-entity-id <app_entity_id>
  --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
Argumente¶
versionVersion, die in Ihrem Anwendungspaket definiert werden soll. Wenn die Version bereits existiert, wird stattdessen ein automatisch inkrementierter Patch zu der Version hinzugefügt. Standardmäßig wird die Version verwendet, die in der
manifest.yml-Datei angegeben ist.
Optionen¶
--patch INTEGERDie Patch-Nummer, die Sie für eine bestehende Version erstellen möchten. Der Standardwert ist undefiniert, wenn er nicht gesetzt ist. Das bedeutet, dass Snowflake CLI entweder den in der Datei
manifest.ymlangegebenen Patch verwendet oder automatisch eine neue Patch-Nummer generiert.--label TEXTEine Bezeichnung für die Version, die den Verbrauchern angezeigt wird. Wenn diese Option deaktiviert ist, wird die in der Datei
manifest.ymlangegebene Versionsbezeichnung verwendet.--skip-git-checkWenn diese Option aktiviert ist, überspringt Snowflake CLI die Überprüfung, ob Ihr Projekt nicht verfolgte Dateien oder Stagingbereiche in Git hat. Standard: nicht aktiviert. Standard: false
--from-stageWenn diese Option aktiviert ist, erstellt Snowflake CLI eine Version aus dem aktuellen Stagingbereich des Anwendungspakets, ohne vorher mit dem Stagingbereich zu synchronisieren. Standard: false
--interactive / --no-interactiveWenn diese Option aktiviert ist, werden Eingabeaufforderungen auch dann angezeigt, wenn die Standardeingabe und -ausgabe keine Terminalgeräte sind. In einer interaktiven Shell-Umgebung ist der Standardwert True, andernfalls False.
--forceWenn diese Option aktiviert ist, genehmigt der Befehl implizit jede Eingabeaufforderung, die auftaucht. Sie sollten diese Option aktivieren, wenn der interaktive Modus nicht angegeben ist und wenn Sie potenziell destruktive Aktionen ausführen möchten. Standard: nicht aktiviert. Standard: false
--package-entity-id TEXTDie ID der Paketentität, mit der gearbeitet werden soll, wenn definition_version 2 oder höher ist.
--app-entity-id TEXTDie ID der Anwendungsentität, mit der gearbeitet werden soll, wenn die definition_version 2 oder höher ist.
-p, --project TEXTPfad, unter dem das Snowflake-Projekt gespeichert ist. Standardmäßig wird das aktuelle Verzeichnis als Arbeitsverzeichnis verwendet.
--env TEXTZeichenfolge im Format Schlüssel=Wert. Überschreibt die Variablen aus dem Abschnitt env, die für Vorlagen verwendet werden. Standard: [].
--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¶
Bemerkung
Dieser Befehl akzeptiert keine Rollen- oder Warehouse-Überschreibungen in Ihrer config.toml-Datei. Fügen Sie sie stattdessen der Native App-Definition in snowflake.yml oder snowflake.local.yml hinzu.
Dieser Befehl erstellt ein Anwendungspaket (falls es nicht existiert) mit einer Version und einem optionalen Patch.
Wenn Sie keine Version angeben, verwendet der Befehl die in der Datei
manifest.ymlangegebene Version. Wenn die Version nicht in der Dateimanifest.ymlvorhanden ist, gibt der Befehl einen Fehler aus.Wenn Sie sowohl das „version“-Argument als auch die Option
--patchangeben und das Anwendungspaket nicht bereits existiert, gibt der Befehl einen Fehler aus. Geben Sie nur das „version“-Argument an, um ein neues Anwendungspaket mit der angeforderten Version zu erstellen.Wenn Sie sowohl das „version“-Argument als auch die Option
--patchangeben und die Version nicht bereits existiert, gibt der Befehl einen Fehler aus. Sie sollten das „version“-Argument nur angeben, um eine neue Version mit einem vorgegebenen Patch 0 zu erstellen.Wenn Sie in einem Git-Repository arbeiten und diesen Befehl ausführen, prüft der Befehl, ob lokale Änderungen an Ihrer Arbeitskopie vorliegen. Wenn lokale Änderungen gefunden werden, werden Sie aufgefordert, zu bestätigen, dass es sicher ist, fortzufahren. Sie können diese Prüfung mit der Option
--skip-git-checküberspringen.Wenn das Anwendungspaket nicht existiert, wird ein neues erstellt von Snowflake CLI erstellt und mit einem speziellen Kommentar
GENERATED_BY_SNOWCLIgetaggt. Es werden auch alle Post-Deploy-Hooks ausgeführt und Codedateien in den Stagingbereich hochgeladen.Wenn das Anwendungspaket bereits existiert und seine Verteilungseigenschaft
INTERNALlautet, prüft der Befehl, ob das Paket von Snowflake CLI erstellt wurde. Wenn dies nicht der Fall ist, gibt der Befehl einen Fehler aus. Wenn die Verteilung des AnwendungspaketsEXTERNAList, wird keine solche Prüfung ausgeführt.Der Befehl warnt Sie zwar, wenn das verwendete Anwendungspaket einen anderen Wert für die Verteilung hat, als in Ihrer aufgelösten Projektdefinition festgelegt ist, setzt aber die Ausführung fort.
Wenn die Version in einer Release-Richtlinie für das Anwendungspaket referenziert wird, fordert der Befehl Sie auf, zu bestätigen, dass Sie einen Patch für diese Version erstellen möchten.
Wenn die Version bereits existiert und Sie keine Option
--patchangeben, erhöht das Native Apps Framework automatisch die Patch-Nummer für diese bestehende Version. Andernfalls erstellt es einen kundenspezifischen Patch unter der von Ihnen bereitgestellten Version.Die Option
--labellegt eine Bezeichnung für die mit diesem Befehl erstellte Version oder den Patch fest. Falls spezifiziert, überschreibt dieser Wert die Bezeichnung für dieVersion, die in dermanifest.yml-Datei der Anwendung definiert ist.Wenn Sie eine benannte Version angeben, wie
snow app version create my_version, wird das FeldVersionin der Dateimanifest.ymlignoriert.
Beispiele¶
Bei diesen Beispielen wird davon ausgegangen, dass Sie die erforderlichen Änderungen an Ihren Codedateien vorgenommen und sie zu Ihrer snowflake.yml- oder snowflake.local.yml-Dateien hinzugefügt haben.
Wenn Sie ein Anwendungspaket erstellen und ihm eine Version V1 hinzufügen möchten, verwenden Sie den folgenden Befehl:
snow app version create V1 --connection="dev"
Sie können den obigen Befehl auch verwenden, um eine Version V1 für ein bestehendes Anwendungspaket zu erstellen.
Wenn Sie der Version V1 einen Patch hinzufügen möchten, indem Sie die automatische Inkrementierungsfunktion verwenden und den interaktiven Modus aufrufen, verwenden Sie den folgenden Befehl:
snow app version create V1 --interactive --connection="dev"
Wenn Sie der Version V1 eine benutzerdefinierte Patch-Nummer hinzufügen und den interaktiven Modus umgehen möchten, auch wenn Sie sich in einer interaktiven Shell befinden, verwenden Sie den folgenden Befehl:
snow app version create V1 --patch 42 --force --connection="dev"
Verwenden Sie den folgenden Befehl, um eine neue Version aus dem aktuellen Inhalt des Stagingbereichs zu erstellen, ohne vorher Dateien mit dem Stagingbereich zu synchronisieren:
snow app version create V1 --from-stage --connection="dev"