Unterstützte Objekttypen in DCM Projects¶
Die DEFINE-Anweisung ist ein spezieller Befehl, der ausschließlich in DCM project-Definitionsdateien verwendet wird. Seine Syntax ist ähnlich wie beim Befehl CREATEORALTER, jedoch mit den folgenden wesentlichen Unterschieden:
Die Reihenfolge und der Speicherort von DEFINE-Anweisungen spielt keine Rolle. Snowflake sammelt und sortiert während der Ausführung des Projekts alle Anweisungen aus allen Definitionsdateien.
Wenn Sie eine DEFINE-Anweisung entfernen, die zuvor bereitgestellt wurde, löscht Snowflake das entsprechende Objekt, wenn Sie das Projekt das nächste Mal bereitstellen. Das Gleiche gilt für GRANT- und ATTACH-Anweisungen, die nach ihrer vorherigen Bereitstellung entfernt werden.
Es wird nur eine Teilmenge der Snowflake-Objekttypen unterstützt.
Alle Objekte müssen mit einem voll qualifizierten Namen definiert werden (
database.schema.object_name).Verweise auf andere Objekte müssen vollqualifizierte Namen verwenden.
Die folgenden Objekttypen werden in DCM Projects-Definitionsdateien mit DEFINE-, GRANT- oder ATTACH-Anweisungen nativ unterstützt.
Datenbank¶
Einschränkungen:
Alle CREATE OR ALTER DATABASE-Beschränkungen gelten, einschließlich:
Umbenennen der Datenbank
Schema¶
Einschränkungen:
Alle CREATE OR ALTER SCHEMA-Beschränkungen gelten, einschließlich:
Umbenennen des Schemas
Tabelle¶
Einschränkungen:
Alle CREATE OR ALTER TABLE-Beschränkungen gelten, einschließlich:
Umbenennen von Tabellen
Umbenennen von Spalten
Neuordnen von Spalten
Ändern von Spaltentypen in inkompatible Typen
Hinzufügen einer Suchoptimierung zu einer Tabelle oder Spalten
Hinzufügen von Tags und Richtlinien zu einer Tabelle oder Spalten
Ansicht¶
Einschränkungen:
Alle CREATE OR ALTER VIEW-Beschränkungen gelten, einschließlich:
Umbenennen von Ansichten
Neuordnen von Spalten
Dynamische Tabelle¶
Unterstützte Änderungen:
Ohne vollständige Aktualisierung:
Warehouse
Zielverzögerung
Bei Neuinitialisierung oder vollständiger Aktualisierung:
Aktualisierungsmodus
Alle Änderungen des Textkörpers, einschließlich:
Löschen von Spalten
Hinzufügen von Spalten am Ende
Unveränderliche Argumente:
INITIALIZE
Einschränkungen:
Alle CREATE OR ALTER DYNAMIC TABLE-Beschränkungen gelten, einschließlich:
Neuordnen von Spalten
Umbenennen von dynamischen Tabellen
Aufgabe¶
Wenn Definitionsänderungen für eine bereits gestartete Aufgabe vorgenommen werden, hält Snowflake diese Aufgabe (oder deren Stammaufgabe) automatisch vorübergehend an, wendet die Änderung an und setzt sie dann wieder fort.
Neu bereitgestellte Aufgaben sind standardmäßig angehalten.
Einschränkungen:
Alle CREATE OR ALTER TASK-Beschränkungen gelten.
Dateiformat¶
Einschränkungen:
Alle CREATE OR ALTER FILE FORMAT-Beschränkungen gelten.
Interner Stagingbereich¶
Unterstützte Änderungen:
Verzeichnistabelle
Kommentar
Unveränderliche Attribute:
Verschlüsselungstyp
Einschränkungen:
Alle CREATE OR ALTER STAGE-Beschränkungen gelten.
Funktion SQL¶
Einschränkungen:
Alle CREATE OR ALTER FUNCTION-Beschränkungen gelten.
Datenmetrikfunktion¶
Mit Datenmetrikfunktionen (DMFs) können Sie Erwartungen an die Datenqualität definieren und diese Erwartungen mit Tabellen verknüpfen. Sie können aus den bestehenden System-DMFs auswählen oder Ihre eigenen benutzerdefinierten Datenmetrikfunktionen (UDMFs) schreiben. Sie können sie dann mit einer Viele-zu-eins-Beziehung an Tabellen, Ansichten und dynamische Tabellen anhängen. Weitere Informationen dazu finden Sie unter Verwenden von SQL zum Einrichten von Datenmetrikfunktionen.
Um Datenmetrikfunktionen anzuhängen, müssen Sie zunächst einen DATA_METRIC_SCHEDULE zu jeder Tabelle, dynamischen Tabelle oder Ansichtsdefinition hinzufügen. Beispiel: DATA_METRIC_SCHEDULE = TRIGGER_ON_CHANGES. Der TRIGGER_ON_CHANGES-Zeitplan ist für Ansichten nicht verfügbar.
Die benutzerdefinierten Namen von Erwartungen müssen pro Projekt und Anhang eindeutig sein.
Das Definieren von Erwartungen ist optional, wird aber empfohlen, wenn Sie DMFs an Tabellenspalten anhängen. Angehängte DMFs ohne gesetzte Erwartungen werden bei der Ausführung von EXECUTE DCM PROJECT <my_project> TEST ALL nicht berücksichtigt.
Unterstützte Änderungen:
Definieren von UDMFs (benutzerdefinierte Datenmetrikfunktionen)
Anhängen von System-DMFs und UDMFs für Tabellen, Ansichten oder dynamische Tabellen innerhalb und außerhalb eines DCM project
Definieren der Datenerwartungen für Tabellenspalten
Beispiel:
Ein Beispiel für die Definition einer UDMF:
Beispiel für das Anhängen einer System-DMF mit einer Erwartung:
Beispiel für das Anhängen einer UDMF mit einer Erwartung:
Um alle verfügbaren System-DMFs zu sehen, fragen Sie SHOW DATA METRIC FUNCTIONS IN DATABASE SNOWFLAKE ab.
Warehouse¶
Unveränderliche Attribute:
INITIALLY_SUSPENDED
Einschränkungen:
Alle CREATE OR ALTER WAREHOUSE-Beschränkungen gelten.
Rolle und Datenbankrolle¶
Nicht unterstützte Typen:
Anwendungsrolle
Grant¶
So wie jedes Objekt in DCM Projects nur einmal definiert werden kann, kann jede Berechtigung/Berechtigungsempfänger-Beziehung nur einmal für alle DCM Projects definiert werden.
Beim Entfernen einer GRANT OWNERSHIP-Anweisung, die zuvor bereitgestellt wurde, versucht DCM Projects, die aktuelle Eigentümerrolle zu verwenden, um die Eigentümerschaft wieder an den DCM project-Eigentümer zurückzugeben. Wenn die Rolle des Projekteigentümers nicht die Eigentümerrolle des Objekts enthält, muss die Eigentümerschaft manuell außerhalb von DCM Projects zurückübertragen werden.
DCM Projects kennt nur Berechtigungen, die über DCM Projects definiert und bereitgestellt wurden. Alle Berechtigungen, die außerhalb von DCM Projects hinzugefügt wurden, koexistieren und werden von DCM Projects nicht entfernt.
Nicht unterstützte GRANT-Typen:
APPLICATION ROLE-Zuweisungen
CALLER-Zuweisungen
Tag¶
Nicht unterstützte Attribute:
Weitergabe
Einschränkungen:
Alle CREATE OR ALTER TAG-Beschränkungen gelten.
Authentifizierungsrichtlinie¶
Einschränkungen:
Alle CREATE OR ALTER AUTHENTICATION POLICY-Beschränkungen gelten.