Einrichten der Snowflake CLI, um eine App zu entwickeln

Unter diesem Thema wird beschrieben, wie Anbieter die Snowflake CLI für die Entwicklung und Verwaltung von Snowflake Native Apps installieren und verwenden. Snowflake CLI ist ein Open-Source-Befehlszeilentool, das zusätzlich zu SQL-Operationen explizit für entwicklerzentrierte Workloads entwickelt wurde.

Snowflake CLI installieren und konfigurieren

Führen Sie die folgenden Schritte zum Installieren und Konfigurieren der Snowflake CLI aus:

  1. Installieren Sie die Snowflake CLI für Ihr Betriebssystem.

    Weitere Informationen dazu finden Sie unter Installieren von Snowflake CLI.

  2. Stellen Sie eine Verbindung zu Ihrem Snowflake-Konto her.

    Weitere Informationen dazu finden Sie unter Konfigurieren von Snowflake CLI.

Über Snowflake CLI-Projekte und App-Vorlagen

Bei Verwendung der Snowflake CLI, um Ihre Snowflake Native App zu entwickeln, arbeiten Sie innerhalb eines Projekts. Ein Projekt ist ein Verzeichnis, das alle für Ihre Snowflake Native App erforderlichen Dateien und Verzeichnisse enthält. Wie andere Code-Repositorys können auch diese Dateien mithilfe von Technologien wie Git versionskontrolliert und auf Plattformen wie Github freigegeben werden.

Snowflake bietet App-Vorlagen, die Sie für die Einrichtung Ihres Projekts verwenden können. Diese Vorlagen sind im snowflake-cli-templates GitHub-Repository verfügbar.

Die verfügbaren Vorlagen sind:

Vorlage

Beschreibung

app_basic

Eine einfache Vorlage, die die wichtigsten Dateien und Verzeichnisse für Ihre App enthält.

app_streamlit_java

Eine Vorlage, die die für Ihre App erforderlichen Dateien und Verzeichnisse, den Java-Erweiterungscode und die Streamlit-Beispielanwendung enthält.

app_streamlit_js

Eine Vorlage, die die für Ihre App erforderlichen Dateien und Verzeichnisse, den JavaScript-Erweiterungscode und eine Streamlit-Beispielanwendung enthält.

app_streamlit_python

Eine Vorlage, die die wichtigsten Dateien und Verzeichnisse für Ihre App, den Python-Erweiterungscode und eine Streamlit-Beispielanwendung enthält.

Einrichten eines neuen Projekts für Ihre Snowflake Native App

Führen Sie die folgenden Schritte aus, um ein neues Projekt für Ihre Snowflake Native App einzurichten:

  1. Führen Sie den Befehl init aus, um ein neues Projekt zu erstellen:

    snow init --template <template_name> <project_name>
    
    Copy
  2. Geben Sie einen Wert für den Projektbezeichner ein.

    Dieser Wert wird als Basisname für die App-Komponenten verwendet, die Snowflake CLI erstellt, einschließlich des Anwendungspakets. Sie können diesen Wert später in der Projektdefinitionsdatei ändern oder überschreiben.

Nachdem Sie diesen Befehl ausgeführt haben, wird ein neues Verzeichnis mit dem Namen <project_name> in dem Verzeichnis erstellt, in dem Sie den Befehl ausgeführt haben. Dieses Verzeichnis enthält die für Ihre Snowflake Native App erforderlichen Dateien und Verzeichnisse mit der folgenden Verzeichnisstruktur:

<project_name>/
├── app/
 ├── manifest.yml
 ├── README.md
 ├── setup_script.sql
├── README.md
├── snowflake.yml
Copy

Die Ordner und Dateien in diesem Verzeichnis sind in der folgenden Tabelle beschrieben:

Datei/Verzeichnis

Beschreibung

app/

Dieses Verzeichnis enthält den Anwendungscode und die Ressourcen für Ihre App. Sie können in diesem Verzeichnis nach Bedarf Dateien ändern oder hinzufügen.

app/manifest.yml

Diese Datei definiert die Metadaten und die Konfiguration für Ihre App, einschließlich des Namens der App, der Version, der Beschreibung und der Ressourcen. Weitere Informationen dazu finden Sie unter Manifest-Datei für eine App erstellen.

app/README.md

Diese Datei bietet einen Überblick über Ihre App und Anweisungen zu deren Verwendung. Dies ist die README-Datei, die auf Snowflake Marketplace angezeigt wird.

app/setup_script.sql

Dieses SQL-Skript wird ausgeführt, wenn die App installiert wird. Sie können dieses Skript ändern, um alle für Ihre App erforderlichen Einrichtungsschritte aufzunehmen. Weitere Informationen dazu finden Sie unter Create the setup script.

README.md

Diese Datei bietet einen Überblick über das Projekt und Anweisungen zur Verwendung der Snowflake CLI mit Ihrer App.

snowflake.yml

Dies ist die Projektdefinitionsdatei, die die Objekte beschreibt, die in Snowflake bereitgestellt werden können. Sie müssen diese Datei ändern, um die Ressourcen zu definieren, die Teil Ihrer App sind.

Projektdefinitionsdatei erstellen

Snowflake CLI verwendet eine Projektdefinitionsdatei, um Objekte zu beschreiben, die in Snowflake bereitgestellt werden können. Diese Datei muss den Namen snowflake.yml tragen. Diese Datei bestimmt den Namen des Anwendungspakets und gibt die Ressourcen an, die Teil Ihrer Snowflake Native App sind.

Weitere Informationen zur Projektdefinitionsdatei finden Sie unter Projektdefinitionsdateien.

Im Folgenden finden Sie ein Beispiel für eine einfache snowflake.yml-Datei, die für eine Snowflake Native App verwendet wird:

definition_version: 2
entities:
  hello_snowflake_package:
    type: application package
    stage: stage_content.hello_snowflake_stage
    manifest: app/manifest.yml
    identifier: hello_snowflake_package
    artifacts:
       - src: app/*
         dest: ./
  hello_snowflake_app:
    type: application
    from:
       target: hello_snowflake_package
    debug: false
Copy

In der folgenden Tabelle werden die Felder in diesem Beispiel beschrieben:

Feld

Beschreibung

definition_version

Die Version des Dateiformats der Projektdefinition. Die aktuelle Version ist 2.

entities

Eine Liste der Entitäten, die Teil des Projekts sind. Jede Entität hat einen eindeutigen Bezeichner und einen Typ.

hello_snowflake_package

Der Bezeichner der Anwendungspaketsentität. Dieser Name wird als Basisname für die App-Komponenten verwendet, die Snowflake CLI erstellt, einschließlich des Anwendungspakets.

type

Der Typ der Entität. In diesem Fall ist es ein application package.

stage

Der Stagingbereich, in dem das Anwendungspaket gespeichert ist.

manifest

Der Pfad zur Manifestdatei, die die Metadaten und die Konfiguration für Ihre App definiert.

identifier

Der Bezeichner der Anwendungspaketsentität. Dieser Name wird als Basisname für die App-Komponenten verwendet, die Snowflake CLI erstellt, einschließlich des Anwendungspakets.

artifacts

Eine Liste der Dateien und Verzeichnisse, die im Anwendungspaket enthalten sind. Jedes Artefakt hat eine Quelle (src) und ein Ziel (dest).

hello_snowflake_app

Gibt den Bezeichner der Anwendungsentität an.

from

Gibt die Quelle der Anwendung an. In diesem Fall wird sie aus dem Anwendungspaket hello_snowflake_package erstellt.

debug

Ein boolescher Wert, der angibt, ob der Debug-Modus für die App aktiviert ist.

Snowflake Native App entwickeln

Nachdem Sie Ihr Projekt eingerichtet und die Projektdefinitionsdatei erstellt haben, können Sie mit der Entwicklung Ihrer Snowflake Native App beginnen. Dazu wird das Anwendungspaket erstellt und die Manifest-Datei und das Setup-Skript geändert.

Weitere Informationen dazu finden Sie unter folgenden Themen: