EXECUTE DCM PROJECT¶
Führt eine der folgenden Aktionen für ein DCM-Projekt aus:
EXECUTE DCM PROJECT <name> PLANführt einen Testlauf für das DCM project aus, um die Änderungen zu analysieren, die während einer Bereitstellung auf das Ziel angewendet werden, nimmt aber keine Änderungen vor.EXECUTE DCM PROJECT <name> DEPLOYstellt die in den Definitionsdateien des Projekts definierten Änderungen für das Konto bereit.EXECUTE DCM PROJECT <name> REFRESH ALLaktualisiert dynamische Tabellen, die vom DCM project verwaltet werden.EXECUTE DCM PROJECT <name> TEST ALLtestet alle Erwartungen an die angehängten Datenmetrikfunktionen, die vom DCM project verwaltet werden.EXECUTE DCM PROJECT <name> PREVIEWgibt eine Datenprobe der aktuellen Definitionen zurück, die im Quellpfad für die angegebene Tabelle, Ansicht oder dynamische Tabelle angegeben sind.
- Siehe auch:
CREATE DCM PROJECT, ALTER DCM PROJECT, DESCRIBE DCM PROJECT, DROP DCM PROJECT, SHOW DCM PROJECTS, SHOW DEPLOYMENTS IN DCM PROJECT
Syntax¶
Erforderliche Parameter¶
nameGibt den Bezeichner für das auszuführende DCM-Projekt an.
Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.
Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
PLANWeist Snowflake an, einen Leerlauf für das DCM project durchzuführen. Bei einem Testlauf analysiert Snowflake die Änderungen, die während einer Bereitstellung auf das Ziel angewendet werden, nimmt aber keine Änderungen vor.
DEPLOY [ AS 'deployment_name_alias' ]Stellt die in den Definitionsdateien des Projekts definierten Änderungen für das Konto bereit; gibt optional einen Alias für die Bereitstellung an.
FROM 'source_files_path'Gibt das Verzeichnis an, das die Quelldateien für das DCM project enthält. Das Verzeichnis muss eine Manifest-Datei und mindestens eine Definitionsdatei in
/sources/definitions/enthalten. Die Manifest-Datei enthält die Vorlagenwerte, falls eine Konfiguration angegeben wurde.REFRESH ALLAktualisiert alle dynamischen Tabellen, die derzeit vom DCM project verwaltet werden.
TEST ALLTestet alle Datenqualitätserwartungen, die mit Tabellen, dynamischen Tabellen oder Ansichten verbunden sind, die derzeit vom DCM project verwaltet werden.
PREVIEW fully_qualified_table_object_nameGibt eine Datenprobe der aktuellen Definitionen zurück, die im Quellpfad für die angegebene Tabelle, Ansicht oder dynamische Tabelle angegeben sind – unabhängig vom bereitgestellten Status.
Optionale Parameter¶
USING CONFIGURATION config_nameGibt die zu verwendende Konfiguration an. So können Sie Bereitstellungen für verschiedene Umgebungen anpassen, z. B. für Entwicklung, Staging oder Produktion, ohne verschiedene Projektdefinitionsdateien zu verwenden.
Wenn der Konfigurationsname nicht komplett in Großbuchstaben geschrieben ist, schließen Sie ihn in doppelte Anführungszeichen ein.
USING ( expr [, expr , ... ] )Gibt optional Werte für Vorlagenvariablen an. Wenn Sie diese Option verwenden, werden alle Standard- oder Konfigurationswerte für diese spezielle Variable überschrieben. Der einzelne Ausdruck muss die folgende Form haben:
<variable_name> => <variable_value>. Für Listen verwenden Sie die folgende Form:<variable_name> => [<value1>, <value2>, ...]. Beispiel:wh_size => 'MEDIUM'oderteams => ['TEAM_A', 'TEAM_B'].So können Sie Bereitstellungen für verschiedene Umgebungen anpassen, z. B. für Entwicklung, Staging oder Produktion, ohne verschiedene Projektdefinitionsdateien zu verwenden.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
OWNERSHIP |
DCM-Projekt |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Für das Ausführen von Operationen für ein Objekt in einem Schema ist mindestens eine Berechtigung für die übergeordnete Datenbank und mindestens eine Berechtigung für das übergeordnete Schema erforderlich.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Ausgabe¶
Nachdem der Befehl DCM project ausgeführt wurde, gibt dieser Befehl je nach Variante die folgende Ausgabe zurück:
PLAN und DEPLOY: Eine einzelne Zeile, die ein JSON-Objekt mit dem Änderungsprotokoll enthält
PREVIEW: Ein Resultset
REFRESH ALL: Eine einzelne Zeile, die ein JSON-Objekt mit der vollständigen Antwort enthält
TEST ALL: Eine einzelne Zeile, die ein JSON-Objekt mit der vollständigen Antwort enthält
Nutzungshinweise¶
Beim Ausführen eines DCM project mit EXECUTE DCM PROJECT PLAN ist die Ausgabe des Befehls dieselbe wie für die eigentliche Bereitstellung. Der Unterschied besteht darin, dass keine Änderungen an dem betroffenen Konto vorgenommen werden. Mit diesem Feature können Sie überprüfen, ob die gerenderten Definitionsdateien eine gültige Syntax haben, welche Änderungen auf das Konto angewendet werden und ob die Eigentümerrolle des Projekts über die erforderlichen Berechtigungen zur Anwendung dieser Änderungen verfügt.
Um unbeabsichtigte Änderungen zu vermeiden und Fehler zu erkennen, führen Sie EXECUTE DCM PROJECT PLAN immer vor der Bereitstellung eines DCM project aus.
Unterstützung für Vorlagenvariablen¶
Mit Vorlagenvariablen können Sie den Inhalt der parametrisierten Definitionsdateien während der DCM project-Ausführung dynamisch auswählen. Sie können Vorlagenvariablen auf folgende Weise verwenden:
Im Abschnitt mit den Beispielen für Vorlagenvariablen finden Sie entsprechende Beispiele.
Beispiele¶
Grundlegende Beispiele¶
Führen Sie ein DCM project imPLAN-Modus aus, um Änderungen an einem Projekt zu validieren, ohne sie anzuwenden:
Führen Sie ein DCM-Projekt imDEPLOY-Modus (zum Anwenden von Änderungen) aus, um einen Bereitstellungsalias und eine Konfiguration namens PROD anzugeben:
Beispiele für Vorlagenvariablen¶
Die folgenden Beispiele zeigen, wie Sie den Wert für Vorlagenvariablen in einer EXECUTE DCM PROJECT-Anweisung angeben können.
Überschreiben der in der Manifest-Datei des DCM-Projekts definierten Vorlagenvariablen
Definieren einer Vorlagenvariable namens
descin der Manifest-Datei:Erstellen Sie eine Definitionsdatei, die die Vorlagenvariable verwendet:
Rufen Sie den Befehl EXECUTE DCM PROJECT im DEPLOY-Modus auf und geben Sie einen Wert für die
desc-Variable an, um ihren Standardwert im Manifest zu überschreiben:
Angeben eines Werts für eine Vorlagenvariable, die nicht in der Manifest-Datei definiert ist
Erstellen einer Definitionsdatei mit den gewünschten Befehlen:
Rufen Sie den Befehl EXECUTE DCM PROJECT auf und geben Sie einen Wert für die
desc_new-Variable an: