Erstellen und Installieren Ihrer Anwendung

Voraussetzungen

  • Sie müssen eine bestehende Verbindung in Ihrer config.toml-Datei haben.

  • Sie müssen eine snowflake.yml-Datei in Ihrem Native App-Projekt haben.

Anwendungspaket und Anwendungsobjekt zusammen erstellen

Der Befehl snow app run führt alle verschiedenen Codedateien zusammen, erstellt ein Anwendungspaket, lädt den Code in einen Snowflake Stagingbereich in diesem Anwendungspaket hoch, validiert das Setup-Skript SQL und installiert oder aktualisiert auch eine Anwendung im selben Konto aus diesem Anwendungspaket. Dieser Befehl wird von den Werten gesteuert, die Sie in Ihrer aufgelösten Projektdefinition angegeben haben, um zu bestimmen, in welchen Stagingbereich Dateien hochgeladen werden sollen, welche Dateien hochgeladen werden sollen und welche Namen die zu erstellenden Objekte haben.

Um ein Anwendungsobjekt zu erstellen, gehen Sie wie folgt vor:

  1. Erstellen Sie eine Verbindung, falls erforderlich.

  2. Nehmen Sie die relevanten Änderungen an Ihren Codedateien vor, einschließlich snowflake.yml, manifest.yml sowie aller Setup-Skripte und Erweiterungscodedateien.

  3. Führen Sie den Befehl snow app run in Ihrem Projekt aus, ähnlich wie im Folgenden gezeigt:

    snow app run --connection="dev"
    
    Copy

Bei Erfolg zeigt der Befehl eine Meldung ähnlich der folgenden an:

Your application ("my_app_admin") is now live:
https://app.snowflake.com/data_org/data_acct/#/apps/application/my_app_admin

Mit dem Befehl snow app run --connection="dev" wird eine Anwendung erstellt, die die Dateien in einem benannten Stagingbereich verwendet, der automatisch von Snowflake CLI verwaltet wird. Sie können den Befehl auch verwenden, um Ihre Anwendung zu erstellen oder zu aktualisieren, selbst wenn Ihr Anwendungspaket bereits existiert. In diesem Fall führt der Befehl ein UPGRADE auf Ihrem Anwendungsobjekt aus, das Ihr Setup-Skript ausführt. Weitere Informationen darüber, wie Sie die erneute Ausführung des Setup-Skripts vermeiden können, finden Sie im nächsten Abschnitt.

Um eine Anwendung mit einer Version (und einem Patch) eines bestehenden Anwendungspakets zu erstellen, führen Sie Folgendes aus:

snow app run --version v1 --patch 12 --connection="dev"
Copy

Hier werden die Version V1 und der Patch 12 nur als Beispiel verwendet. Weitere Informationen zum Erstellen von Snowflake Native App-Objekten finden Sie unter dem Befehl snow app run.

Anwendungspaket erstellen

Der Befehl snow app deploy führt eine Teilmenge der Schritte aus, die snow app run benötigt, um Ihren Code in Snowflake zu verteilen. Während der Befehl immer noch alle verschiedenen Codedateien zusammenführt, ein Anwendungspaket erstellt und den Code in einen benannten Stagingbereich in diesem Anwendungspaket hochlädt und das Setup-Skript SQL validiert, versucht der Befehl snow app deploy nicht, ein Anwendungsobjekt zu erstellen oder zu aktualisieren.

Der Befehl snow app deploy ist besonders in den folgenden Situationen nützlich:

  • Bereitstellen nur des Anwendungspakets und der Stagingdateien für Situationen, in denen ein Anwendungsobjekt nicht erforderlich ist (z. B. als Teil einer Continuous Delivery-Pipeline).

  • Aktualisieren der Stagingdateien, die mit dem Anwendungsobjekt verknüpft sind. Wenn Sie beispielsweise nur Python-Code-Dateien geändert haben, müssen Sie die PROCEDURE-, FUNCTION- und STREAMLIT-Objekte, die darauf verweisen, nicht neu erstellen, wenn Sie den Modus der Stagingbereichsentwicklung verwenden. Dieser Ansatz spart Zeit und Kosten, da Sie kein Warehouse verwenden müssen, um das Setup-Skript erneut auszuführen, um den aktualisierten Python-Code zu verwenden.

Um ein Anwendungspaket ohne ein entsprechendes Anwendungsobjekt zu erstellen, gehen Sie wie folgt vor:

  1. Erstellen Sie eine Verbindung, falls erforderlich.

  2. Nehmen Sie die relevanten Änderungen an Ihren Codedateien vor, einschließlich snowflake.yml, manifest.yml sowie aller Setup-Skripte und Erweiterungscodedateien.

  3. Führen Sie den Befehl snow app deploy in Ihrem Projekt aus, ähnlich wie im Folgenden gezeigt:

    snow app deploy --connection="dev"
    
    Copy

Bei Erfolg zeigt der Befehl eine Meldung ähnlich der folgenden an:

Checking if stage exists, or creating a new one if none exists.
Performing a diff between the Snowflake stage and your local deploy_root
...
Deployed successfully. Application package and stage are up-to-date.

Sie können auch den Befehl snow app deploy verwenden, um einzuschränken, welche Dateien mit einem Stagingbereich synchronisiert werden, indem Sie nach dem snow app deploy-Befehl Pfade als Positionsargumente auflisten. Weitere Informationen zu diesen und anderen erweiterten Funktionen finden Sie unter dem Befehl snow app deploy.