snow app publish¶
Fügt die Version zum Release-Kanal hinzu und aktualisiert die Release-Richtlinie mit der neuen Version und dem neuen Patch.
Syntax¶
snow app publish
--version <version>
--patch <patch>
--channel <channel>
--directive <directive>
--interactive / --no-interactive
--force
--create-version
--from-stage
--label <label>
--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¶
Keine
Optionen¶
--version TEXTDie Version, die im angegebenen Release-Kanal und in der Release-Richtlinie veröffentlicht werden soll. Die Version muss vorhanden sein, es sei denn,
--create-versionwird verwendet.--patch INTEGERDie Patch-Nummer unter der angegebenen Version. Dies wird bei der Festlegung der Release-Richtlinie verwendet. Der Patch muss vorhanden sein, es sei denn,
--create-versionwird verwendet.--channel TEXTDer Name des Release-Kanals, in dem veröffentlicht werden soll. Falls nicht angegeben, wird der Standard-Release-Kanal verwendet. Standard: DEFAULT.
--directive TEXTDer Name der Releaser-Richtlinie, die mit der angegebenen Version und dem angegebenen Patch aktualisiert werden soll. Falls nicht angegeben, wird die Standard-Release-Richtlinie verwendet. Standard: DEFAULT.
--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
--create-versionErstellen Sie eine neue Version oder einen Patch auf der Grundlage der angegebenen Werte
--versionund--patch. Fallback auf die Manifest-Werte, falls nicht angegeben. 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. Kann nur mit dem Flag
--create-versionverwendet werden. Standard: false--label TEXTEine Bezeichnung für die Version, die den Verbrauchern angezeigt wird. Kann nur mit dem Flag
--create-versionverwendet werden.--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¶
Mit dem Befehl snow app publish können Sie Snowflake Native App-Versionen zu einem Release-Kanal hinzufügen und dann die ausgewählte Release-Richtlinie so einstellen, dass sie die angegebene Version und den angegebenen Patch verwendet.
Weitere Informationen zu Release-Kanälen und Release-Richtlinien finden Sie unter Veröffentlichen einer Snowflake Native App für Kunden.
Bemerkung
Das Release-Kanal-Feature ist möglicherweise nicht in allen Regionen verfügbar. Weitere Informationen dazu erhalten Sie vom Snowflake-Support.
Wenn das Release-Kanal-Feature nicht verfügbar ist, können Sie den Parameter --channel dieses Befehls ignorieren.
Dieser Befehl fügt die angegebene Version zum Release-Kanal hinzu. Wenn der Release-Kanal seine maximale Anzahl von Versionen erreicht hat, wird die älteste Version, auf die keine Release-Richtlinie verweist, aus dem Release-Kanal entfernt. Nachdem die Version zum Release-Kanal hinzugefügt wurde, wird die Release-Richtlinie innerhalb des Release-Kanals aktualisiert, um die bereitgestellte Version und den bereitgestellten Patch zu verwenden.
Wenn für das Anwendungspaket keine Release-Kanäle aktiviert sind, wird nur die Release-Richtlinie aktualisiert, um die bereitgestellte Version und den bereitgestellten Patch zu verwenden. Wenn kein Release-Kanal bereitgestellt wird oder wenn Sie den Standard-Release-Kanal verwenden, können Sie dieselben Befehle verwenden, unabhängig davon, ob Release-Kanäle aktiviert sind oder nicht.
Dieser Befehl geht davon aus, dass die Version und der Patch bereits im Anwendungspaket vorhanden sind. Wenn die Version und der Patch nicht existieren, schlägt der Befehl fehl.
Um mit diesem Befehl eine neue Version oder einen neuen Patch zu erstellen, verwenden Sie die Option --create-version. Mit dieser Option können Sie Optionen wie --from-stage oder --label verwenden. Weitere Informationen finden Sie auch unter dem Befehl snow app version create.
Die Regeln für die Erstellung einer neuen Version sind dieselben wie für den Befehl snow app version create. Mit anderen Worten: Snowflake CLI verwendet die gleiche Fallback-Logik für die Manifestdatei, wenn das Versionsfeld fehlt.
Beispiele¶
Veröffentlichen Sie Version v1 und Patch 2 in der Standard-Release-Richtline des Standard-Release-Kanals oder in der Standard-Release-Richtlinie im Paket. In diesem Beispiel sind die Release-Kanäle nicht aktiviert:
snow app publish --version v1 --patch 2
Veröffentlichen Sie Version v1 und Patch 2 in der Release-Richtlinie
customers_group_1ALPHA-Release-Kanals:snow app publish --version v1 --patch 2 --channel ALPHA --directive customers_group_1
Veröffentlichen Sie Version v1 und Patch 2 in der Standard-Release-Richtlinie des QA-Release-Kanals:
snow app publish --version v1 --patch 2 --channel QA
Erstellen Sie eine neue Version und veröffentlichen Sie sie in der benutzerdefinierten Release-Richtlinie
early_adoptersdes Standard-Release-Kanals:snow app publish --version v2 --create-version --directive early_adopters
Fügen Sie einen Patch zu einer bestehenden Version hinzu und veröffentlichen Sie ihn in der Standard-Release-Richtlinie des Standard-Release-Kanals. Sie müssen
--create-versionverwenden und entweder die Patch-Nummer angeben oder sie weglassen, um die nächste verfügbare Patch-Nummer zu verwenden:snow app publish --version v2 --create-version
Erstellen Sie einen neuen Patch aus dem Inhalt des Stagingbereichs, ohne vorher Dateien mit dem Stagingbereich zu synchronisieren, und veröffentlichen Sie ihn in der Standard-Release-Richtlinie des Standard-Release-Kanals:
snow app publish --version v2 --patch 11 --create-version --from-stage