Verwalten von DCM-Projekten mit Snowflake CLI

Sie können ein DCM project mithilfe von Snowflake CLI verwalten. Weitere Informationen zu DCM-Projekten finden Sie unter Snowflake DCM Projects.

Installieren von Snowflake CLI mit DCM project-Features

Um die snow dcm-Befehle verwenden zu können, müssen Sie Snowflake CLI Version 3.16.0 oder höher installieren. Weitere Informationen dazu finden Sie unter Installieren von Snowflake CLI.

Überprüfen, ob Sie eine gültige Verbindung zu Snowflake haben

Die Snowflake-CLI erfordert eine funktionierende -Verbindung für die Interaktion mit Snowflake. Informationen zum Verwalten von Verbindungen finden Sie unter Konfigurieren von Snowflake CLI.

Aktivieren von DCM-Befehlen in Snowflake CLI

Um die DCM-Befehle zu verwenden, müssen Sie das SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS-Feature-Flag mit einer der folgenden Methoden aktivieren:

  • Legen Sie die SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS-Umgebungsvariable auf true fest, bevor Sie den Befehl ausführen.

  • Legen Sie die enable_snowflake_projects-Konfigurationsoption auf true in der config.toml-Datei fest, wie im folgenden Beispiel gezeigt:

    [cli.features]
    enable_snowflake_projects = true
    

Initialisieren eines DCM project aus einer Vorlage

  • Um ein DCM project aus einer Vorlage zu initialisieren, verwenden Sie den snow init-Befehl:

    snow init <project_dir_name> --template dcm_project
    

    wobei <project_dir_name> das Verzeichnis mit den DCM project-Dateien ist. Dieses Verzeichnis wird vom Befehl snow init erstellt und wird mit den Projektdateien ausgefüllt, die aus der angegebenen Vorlage generiert wurden.

    Der folgende Befehl erstellt zum Beispiel die Projektdateien im Verzeichnis MY_PROJECT:

    snow init MY_PROJECT --template dcm_project
    

Snowflake CLI-Befehle

Die folgenden Befehle wurden von Snowflake CLI hinzugefügt, um DCM Projects zu unterstützen:

DCM projects erstellen und bereitstellen

In diesem Abschnitt wird beschrieben, wie Sie DCM projects mithilfe von Snowflake CLI erstellen, validieren und bereitstellen.

Erstellen Sie eine DCM project, wenn:

Verwenden Sie den snow dcm create-Befehl, um ein neues DCM project in Snowflake zu erstellen. Der Projektbezeichner kann direkt als Argument angegeben oder von der Datei manifest.yml aufgelöst werden.

  • Erstellen Sie ein Projekt unter Verwendung des Bezeichners aus dem im Manifest angegebenen Standardziel:

    snow dcm create
    
  • Erstellen Sie ein Projekt unter Verwendung des Bezeichners aus dem im Manifest angegebenen dev-Ziel:

    snow dcm create --target dev
    
  • Erstellen Sie ein Projekt nur, wenn es noch nicht existiert:

    snow dcm create --if-not-exists
    

Weitere Informationen dazu finden Sie unter snow dcm create.

Ein DCM project planen

Verwenden Sie den Befehl snow dcm plan, um Ihr Projekt vor der Bereitstellung zu validieren. Dieser Befehl zeigt, welche Änderungen vorgenommen werden, ohne dass tatsächlich Änderungen vorgenommen werden.

  • Ein Projekt validieren:

    snow dcm plan
    
  • Validieren mit Variablenersetzung:

    snow dcm plan -D "db_name=my_database" -D "schema_name=my_schema"
    
  • Führen Sie die Validierung mit einem bestimmten Zielprofil aus, und speichern Sie die Ausgabe:

    snow dcm plan --target dev --save-output
    

    Bei Verwendung von --save-output speichert der Befehl die Antwort und die Artefakte in einem lokalen out/-Verzeichnis.

Weitere Informationen dazu finden Sie unter snow dcm plan.

DCM project bereitstellen

Verwenden Sie den Befehl snow dcm deploy, um die in Ihrem DCM project definierten Änderungen in Snowflake anzuwenden.

  • Projekt bereitstellen:

    snow dcm deploy
    
  • Bereitstellen mit Variablenersetzung:

    snow dcm deploy -D "table_name='MY_DB.PUBLIC.MY_TABLE'"
    
  • Mit einem Alias für die Bereitstellung zur Verfügung stellen:

    snow dcm deploy --alias v1.0
    
  • Bereitstellen von einem bestimmten Verzeichnis aus unter Verwendung eines Zielprofils:

    snow dcm deploy --from /path/to/project --target prod
    

Weitere Informationen dazu finden Sie unter snow dcm deploy.

Vorschau eines DCM project

Verwenden Sie den Befehl snow dcm preview, um Zeilen aus jeder Tabelle, Ansicht oder dynamischen Tabelle zurückzugeben, die in Ihrem Projekt definiert ist. Dieser Befehl ist nützlich, um Ihre Definitionen vor oder nach der Bereitstellung zu testen.

  • Vorschau der Daten aus einer Tabelle:

    snow dcm preview --object MY_DB.PUBLIC.MY_TABLE
    
  • Vorschau mit Zeilenbeschränkung:

    snow dcm preview --object MY_DB.PUBLIC.MY_VIEW --limit 10
    
  • Vorschau mit Variablenersetzung:

    snow dcm preview --object MY_DB.PUBLIC.MY_VIEW -D "filter_date='2024-01-01'"
    

Weitere Informationen dazu finden Sie unter snow dcm-Vorschau.

DCM project testen

Verwenden Sie den Befehl snow dcm test, um alle in Ihrem Projekt definierten Erwartungen (Datenmetrikfunktionen) auszuführen. Dieser Befehl validiert die Datenqualitätsregeln und gibt bestanden/nicht bestanden-Ergebnisse zurück.

  • Testen eines Projekts:

    snow dcm test
    
  • Testen mit einem Zielprofil:

    snow dcm test --target dev
    
  • Testen und die Ergebnisse speichern:

    snow dcm test --save-output
    

Der Befehl gibt den Exitcode 0 zurück, wenn alle Tests bestanden wurden, oder Exitcode 1, wenn ein Test fehlgeschlagen ist.

Weitere Informationen dazu finden Sie unter snow dcm test.

DCM project aktualisieren

Verwenden Sie den Befehl snow dcm refresh, um alle in Ihrem DCM project definierten dynamischen Tabellen zu aktualisieren. Dies löst eine sofortige Aktualisierung der Daten aus.

  • Aktualisieren dynamischer Tabellen in einem Projekt:

    snow dcm refresh
    
  • Aktualisieren unter Verwendung eines Zielprofils:

    snow dcm refresh --target prod
    
  • Aktualisieren und Speichern der Ausgabe:

    snow dcm refresh --save-output
    

Der Befehl meldet den Status jeder dynamischen Tabelle, einschließlich der Anzahl der eingefügten und gelöschten Zeilen.

Weitere Informationen dazu finden Sie unter snow dcm refresh.

DCM project löschen

Verwenden Sie den Befehl snow dcm drop zum Löschen eines DCM project. Dieser Befehl löscht das Projekt und alle seine Versionen. Der mit dem Projekt verbundene Stagingbereich wird nicht gelöscht.

  • Löschen eines Projekts:

    snow dcm drop
    
  • Löschen eines Projekts nur, wenn es existiert:

    snow dcm drop --if-exists
    

Weitere Informationen dazu finden Sie unter snow dcm drop.

Bereitgestellte DCM projects verwalten

Nach der Bereitstellung eines DCM project können Sie einzelne Bereitstellungen auflisten und verwalten.

Bereitgestellte DCM projects auflisten

Verwenden Sie den Befehl snow dcm list-deployments, um alle Bereitstellungen eines bestimmten DCM project aufzulisten.

  • Auflisten der Bereitstellungen für ein Projekt:

    snow dcm list-deployments
    
  • Auflisten von Bereitstellungen unter Verwendung eines Zielprofils:

    snow dcm list-deployments --target dev
    

Die Ausgabe zeigt den Bereitstellungsnamen und den Alias (falls festgelegt) für jede Bereitstellung an.

Weitere Informationen dazu finden Sie unter snow dcm list-deployments.

Bereitgestellte DCM projects löschen

Verwenden Sie den Befehl snow dcm drop-deployment, um eine bestimmte Bereitstellung aus einem DCM project zu löschen.

  • Löschen einer Bereitstellung nach Namen:

    snow dcm drop-deployment --deployment 'DEPLOYMENT$1'
    

    Bemerkung

    Für Bereitstellungsnamen, die $ enthalten, verwenden Sie einfache Anführungszeichen, um die Shell-Erweiterung zu verhindern.

  • Löschen einer Bereitstellung nach Alias:

    snow dcm drop-deployment --deployment v1.0
    
  • Löschen einer Bereitstellung nur, wenn sie existiert:

    snow dcm drop-deployment --deployment v1.0 --if-exists
    

Weitere Informationen dazu finden Sie unter snow dcm drop-deployment.