ALTER DBT PROJECT¶
Ändert die Eigenschaften eines vorhandenen dbt-Projektobjekts.
- Siehe auch:
CREATE DBT PROJECT, EXECUTE DBT PROJECT, DESCRIBE DBT PROJECT, DROP DBT PROJECT, SHOW DBT PROJECTS
Syntax¶
Parameter¶
nameGibt den Bezeichner für das zu ändernde dbt-Projektobjekt 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.
RENAME TO new_nameÄndert den Namen des dbt-Projektobjekts in
new_name. Der neue Bezeichner muss in dem Schema eindeutig sein.Weitere Informationen über Bezeichner finden Sie unter Anforderungen an Bezeichner.
Sie können das Objekt in eine andere Datenbank und/oder in ein anderes Schema verschieben und dabei optional das Objekt umbenennen. Geben Sie dazu einen qualifizierten
new_name-Wert an, der den neuen Datenbank- und/oder Schemanamen im Formatdb_name.schema_name.object_namebzw.schema_name.object_nameenthält.Bemerkung
Die Zieldatenbank und/oder das Zielschema müssen bereits vorhanden sein. Außerdem darf in der Zieldatenbank nicht bereits ein gleichnamiges Schema vorhanden sein, da die Anweisung sonst einen Fehler zurückgibt.
Das Verschieben eines Objekts in ein verwaltetes Zugriffsschema ist nicht zulässig, es sei denn, der Objekteigentümer (d. h. die Rolle mit der Berechtigung OWNERSHIP für das Objekt) ist auch Eigentümer des Zielschemas.
Wenn ein Objekt umbenannt wird, müssen andere Objekte, die darauf verweisen, mit dem neuen Namen aktualisiert werden.
ADD VERSION [ version_name_alias ]Erstellt eine neue Version, indem der Bezeichner der aktuellen Version schrittweise um eins erhöht wird, zum Beispiel von
version$2aufversion$3.Das
version name aliasist optional und ist ein kundenspezifischer Bezeichner, der dem neu erstellten Versionsbezeichner entspricht. Dasversion name aliasmuss Anforderungen an Bezeichner folgen.FROM 'source_location'A string that specifies the source location of the dbt project files for the new version. The source location must point to a directory that contains a single
dbt_project.ymlfile at its root.The dbt project object source files can be in any one of the following locations:
A Git repository stage, zum Beispiel:
'@my_db.my_schema.my_git_repository_stage/branches/my_branch/path/to/dbt_project_or_projects_parent'Für weitere Informationen zum Erstellen eines Git-Repository-Objekts in Snowflake, das ein Git-Repository mit einem Arbeitsbereich für dbt Projects on Snowflake verbindet, siehe Erstellen eines Arbeitsbereichs, der mit Ihrem Git-Repository verbunden ist. Für weitere Informationen zum Erstellen und Verwalten eines Git-Repository-Objekts und Stagingbereichs ohne Verwendung eines Arbeitsbereichs finden Sie unter Verwenden eines Git-Repositorys in Snowflake und CREATE GIT REPOSITORY.
In einem vorhandenen dbt-Projekt-Stagingbereich, zum Beispiel:
'snow://dbt/my_db.my_schema.my_existing_dbt_project_object/versions/last'The version specifier is required and can be
last(as shown in the previous example),first, or the specifier for any existing version in the formversion$<num>. For more information, see Versions for dbt project objects and files.An internal named stage, zum Beispiel:
'@my_db.my_schema.my_internal_named_stage/path/to/dbt_projects_or_projects_parent'Interne Benutzer-Stagingbereiche und Tabellen-Stagingbereiche werden nicht unterstützt.
A workspace for dbt on Snowflake, zum Beispiel:
'snow://workspace/user$.public."my_workspace_name"/versions/live/path/to/dbt_projects_or_projects_parent'Wir empfehlen, den Arbeitsbereichsnamen in doppelte Anführungszeichen zu setzen, da bei Arbeitsbereichsnamen zwischen Groß- und Kleinschreibung unterschieden wird und weil sie Sonderzeichen enthalten können.
The version specifier is required and can be
last,first,live, or the specifier for any existing version in the formversion$<num>. For more information, see Versions for dbt project objects and files.
SET ...Legt eine oder mehrere angegebene Eigenschaften oder Parameter für das dbt-Projektobjekt fest:
DBT_VERSION = 'version_number'Specifies a version for the dbt project object.
If no value is specified, the system defaults to the version set by the DEFAULT_DBT_VERSION account parameter. For more information, see Standardversion auf Kontoebene festlegen.
DEFAULT_TARGET = default_targetSpecifies the profile used for compilation and subsequent executions (for example,
prod) of the dbt project object. This parameter can be overridden by using the EXECUTE DBT PROJECT command withARGS = '--target <other_target>'.EXTERNAL_ACCESS_INTEGRATIONS = ( integration_name [ , ... ] )Gibt die Integration für den externen Zugriff an, die verwendet wird, um Berechtigungen zum Abrufen externer Abhängigkeiten von dbt Package Hub oder GitHub zu gewähren. Bei der Deklaration für ein Objekt wird
dbt depswährend der Bereitstellung automatisch ausgeführt. Weitere Informationen dazu finden Sie unter Erläuterungen zu den Abhängigkeiten von dbt-Projekten auf Snowflake.COMMENT = 'string_literal'Fügt einen Kommentar hinzu oder überschreibt einen vorhandenen Kommentar für das dbt-Projektobjekt.
UNSET ...Hebt eine oder mehrere angegebene Eigenschaften oder Parameter für das dbt-Projektobjekt auf NULL oder kein Wert auf:
DBT_VERSIONDEFAULT_TARGETEXTERNAL_ACCESS_INTEGRATIONSCOMMENT
Um mehrere Eigenschaften oder Parameter mit einer einzigen ALTER-Anweisung zurückzusetzen, trennen Sie jede Eigenschaft oder jeden Parameter durch ein Komma.
Wenn Sie eine Eigenschaft oder einen Parameter zurücksetzen, geben Sie nur den Namen der Eigenschaft oder des Parameters an (es sei denn, die obige Syntax weist darauf hin, dass Sie den Wert angeben sollten). Die Angabe des Wertes gibt einen Fehler zurück.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens eine der folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
|---|---|---|
OWNERSHIP |
dbt-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.
Nutzungshinweise¶
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
Beispiele¶
Eine dbt-Version festlegen¶
Im folgenden Beispiel wird eine neue dbt-Version für ein dbt-Projektobjekt festgelegt:
Neue Version hinzufügen¶
Im folgenden Beispiel wird ein Git-Repository-Objekt in Snowflake aktualisiert, um den neuesten Code aus dem Git-Repository abzurufen, und dann wird der Inhalt des dbt-Projektobjekts aktualisiert, indem eine neue Version hinzugefügt wird:
Ein Standardziel und eine neue Integration für den externen Zugriff festlegen¶
Im folgenden Beispiel wird ein bestehendes dbt-Projektobjekt mit den folgenden Änderungen aktualisiert:
Sets a default target that Snowflake uses when executing EXECUTE DBT PROJECT without specifying a
--targetargument. For example, ifDEFAULT_TARGET = 'prod', then a command such asEXECUTE DBT PROJECT sales_db.dbt_projects_schema.sales_model ARGS = 'run';would automatically execute using--target produnless overridden byARGS = '--target <other_target>'.Assigns an external access integration for the dbt project object to use.
Sie können eine einzelne Integration oder eine Liste bereitstellen:
EXTERNAL_ACCESS_INTEGRATIONS = ('integration1', 'integration2').
Auf die Standardversion des Systems zurücksetzen¶
The following example reverts the dbt project object to the system default version, which is currently 1.9.4. Account administrators can change the default for all future dbt project objects in the account using the DEFAULT_DBT_VERSION account parameter.
For more information, see Standardversion auf Kontoebene festlegen.