snow object create¶
Objekt eines bestimmten Typs erstellen. In der Dokumentation finden Sie eine Auflistung der unterstützten Objekte und Parameter.
Syntax¶
snow object create
<object_type>
<object_attributes>
--json <object_json>
--if-not-exists
--replace
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--workload-identity-provider <workload_identity_provider>
--private-key-file <private_key_file>
--token <token>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
Argumente¶
object_typeTyp des Objekts, Zum Beispiel Tabelle, Datenbank, Computepool.
object_attributes...Objektattribute, die als Liste von Schlüssel=Wert-Paaren bereitgestellt werden, z. B. name=my_db comment=‘created with Snowflake CLI‘. In der Dokumentation finden Sie eine vollständige Auflistung der verfügbaren Parameter für jedes Objekt.
Optionen¶
--json TEXTObjektdefinition im Format JSON, zum Beispiel ‚{„name“: „my_db“, „comment“: „created with Snowflake CLI“}‘. In der Dokumentation finden Sie eine vollständige Auflistung der verfügbaren Parameter für jedes Objekt.
--if-not-existsDiese Operation nur anwenden, wenn das angegebene Objekt noch nicht existiert. Standard: false
--replaceDieses Objekt ersetzen, wenn es bereits existiert. Standard: false
--connection, -c, --environment TEXTName der Verbindung, wie in Ihrer
config.toml-Datei definiert. Standard:Standard.--host TEXTHost-Adresse für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--port INTEGERPort für die Verbindung. Überschreibt den für die Verbindung angegebenen Wert.
--account, --accountname TEXTName, der Ihrem Snowflake-Konto zugewiesen wurde. Überschreibt den für die Verbindung angegebenen Wert.
--user, --username TEXTBenutzername für die Verbindung zu Snowflake. Überschreibt den für die Verbindung angegebenen Wert.
--password TEXTSnowflake-Kennwort. Überschreibt den für die Verbindung angegebenen Wert.
--authenticator TEXTSnowflake-Authentifikator. Überschreibt den für die Verbindung angegebenen Wert.
--workload-identity-provider TEXTWorkload-Identitätsanbieter (AWS, AZURE, GCP, OIDC). Überschreibt den für die Verbindung angegebenen Wert.
--private-key-file, --private-key-path TEXTDateipfad zum privaten Snowflake-Schlüssel. Überschreibt den für die Verbindung angegebenen Wert.
--token TEXTOAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--token-file-path TEXTPfad zur Datei mit einem OAuth-Token, das bei der Verbindung mit Snowflake verwendet werden soll.
--database, --dbname TEXTZu verwendende Datenbank. Überschreibt den für die Verbindung angegebenen Wert.
--schema, --schemaname TEXTZu verwendendes Datenbankschema. Überschreibt den für die Verbindung angegebenen Wert.
--role, --rolename TEXTZu verwendende Rolle. Überschreibt den für die Verbindung angegebenen Wert.
--warehouse TEXTZu verwendendes Warehouse. Überschreibt den für die Verbindung angegebenen Wert.
--temporary-connection, -xVerwendet eine mit Befehlszeilenparametern definierte Verbindung anstelle einer in config definierten. Standard: false
--mfa-passcode TEXTFür die mehrstufige Authentifizierung (MFA) zu verwendendes Token.
--enable-diagOb ein Verbindungsdiagnosebericht erstellt werden soll. Standard: false
--diag-log-path TEXTPfad für den generierten Bericht. Standardmäßig wird das temporäre Verzeichnis des Systems verwendet. Standard: <system_temporary_directory>.
--diag-allowlist-path TEXTPfad zu einer JSON-Datei, die allowlist-Parameter enthält.
--oauth-client-id TEXTWert der Client-ID, die vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-client-secret TEXTWert des Client-Geheimnisses, das vom Identitätsanbieter für die Snowflake-Integration bereitgestellt wird.
--oauth-authorization-url TEXTEndpunkt des Identitätsanbieters, der den Autorisierungscode an den Treiber liefert.
--oauth-token-request-url TEXTEndpunkt des Identitätsanbieters, der die Zugriffstoken für den Treiber bereitstellt.
--oauth-redirect-uri TEXTFür die Umleitung des Autorisierungscodes zu verwendende URI.
--oauth-scope TEXTBereich, der in der Autorisierungsanfrage des Identitätsanbieters angefordert wird.
--oauth-disable-pkceDeaktiviert den Proof Key For Code Exchange (PKCE). Standard:
False.--oauth-enable-refresh-tokensErmöglicht eine stille Neuauthentifizierung, wenn das aktuelle Zugriffstoken veraltet ist. Standard:
False.--oauth-enable-single-use-refresh-tokensOb Sie sich für die Semantik des einmaligen Aktualisierungs-Tokens entscheiden. Standard:
False.--client-store-temporary-credentialSpeichern der temporären Anmeldeinformationen.
--format [TABLE|JSON|JSON_EXT|CSV]Gibt das Ausgabeformat an. Standard: TABLE.
--verbose, -vZeigt Protokolleinträge für die Protokolliergrade
infound höher an. Standard: false--debugZeigt Protokolleinträge für die Protokollebenen
debugund höher an; Debug-Protokolle enthalten zusätzliche Informationen. Standard: false--silentSchaltet Zwischenausgaben auf der Konsole aus. Standard: false
--enhanced-exit-codesExit-Fehlercodes nach Art des Fehlers unterscheiden. Standard: false
--helpZeigt den Hilfetext für diesen Befehl an.
Nutzungshinweise¶
Der Befehl snow object create erstellt einen der folgenden Typen von Snowflake-Objekten, basierend auf den angegebenen Objektattributen oder Definitionen:
accountcatalog-integrationcompute-pooldatabasedatabase-roledynamic-tableevent-tableexternal-volumefunctionimage-repositorymanaged-accountnetwork-policynotebooknotification-integrationpipeprocedureroleschemaservicestagestreamtabletaskuser-defined-functionviewwarehouse
Für jedes Objekt müssen Sie die entsprechenden Objektdetails entweder über die Objektattribute oder die Objektdefinitionen angeben.
Verwenden Sie den
object_attributes-Parameter, der die Objektdetails als eine Reihe von<key>=<value>-Paaren angibt, wie z. B:snow object create database name=my_db comment="Created with Snowflake CLI"
Verwenden Sie die Option
--json object_definition, um die Objektdetails als JSON anzugeben, z. B:snow object create table name=my_table columns='[{"name":"col1","datatype":"number", "nullable":false}]' constraints='[{"name":"prim_key", "column_names":["col1"], "constraint_type":"PRIMARY KEY"}]' --database my_db --schema public
Siehe Beispiele für weitere Beispiele.
Bemerkung
Für die folgenden Objekttypen muss eine Datenbank in der Konfiguration der Verbindung identifiziert werden, z. B. config.toml, oder dem Befehl mit der --database-Option übergeben werden.
image-repository
schema
service
table
task
In den folgenden Abschnitten werden die Attribute beschrieben, die Snowflake CLI für ausgewählte Objekttypen unterstützt.
Sie können Attribute für andere Arten von Objekten finden, indem Sie die entsprechenden SQL CREATE-Befehlverweise überprüfen, z. B. CREATE ACCOUNT.
Objektattribute des Computepools¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
min_nodes required, integer |
Gibt die minimale Anzahl von Knoten im Computepool an. |
max_nodes required, integer |
Gibt die maximale Anzahl von Knoten im Computepool an. |
instance_family erforderlich, string |
Name des Instanzfamilie. Weitere Informationen zu Instanzfamilien finden Sie unter dem Befehl SQL CREATE COMPUTE POOL. |
auto_resume optional, string |
Gibt an, ob der Computepool automatisch wiederaufgenommen werden soll, wenn eine Anweisung, die den Computepool benötigt, eingereicht wird. |
comment optional, string |
Beschreibender Kommentar zum Computepool. |
auto_suspend_secs optional, string |
Anzahl der Sekunden der Inaktivität, nach denen Snowflake den Computepool automatisch anhalten soll. |
Objektattribute der Datenbank¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
comment optional, string |
Beschreibender Kommentar zur Datenbank. |
data_retention_time_in_days optional, integer |
Anzahl der Tage, für die Time Travel-Aktionen (CLONE und UNDROP) auf dem Schema ausgeführt werden können, sowie die standardmäßige Time Travel-Aufbewahrungsdauer für alle im Schema erstellten Tabellen. |
default_ddl_collation optional, string |
Standardsortierungsspezifikation für alle zur Datenbank hinzugefügten Schemas und Tabellen an. Sie können diesen Standard auf der Ebene des Schemas und der einzelnen Tabellen überschreiben. |
max_data_extension_time_in_days optional, integer |
Maximale Anzahl von Tagen, für die Snowflake die Datenaufbewahrungsfrist für Tabellen in der Datenbank verlängern kann, um zu verhindern, dass Streams auf den Tabellen veraltet sind. |
suspend_task_after_num_failures optional, integer |
Anzahl der nacheinander fehlgeschlagenen Aufgabenausführungen, nach denen die aktuelle Aufgabe automatisch angehalten wird. |
user_task_managed_initial_warehouse_size optional, integer |
Größe der Computeressourcen, die für die erstmalige Ausführung der Aufgabe bereitgestellt werden sollen, bevor ein Aufgabenverlauf für Snowflake verfügbar ist, um eine ideale Größe zu ermitteln. Mögliche Werte sind: XSMALL, SMALL, MEDIUM, LARGE und XLARGE. |
user_task_timeout_ms optional, integer |
Zeitlimit in Millisekunden für die einzelne Ausführung der Aufgabe an, bevor das Zeitlimit überschritten wird. Weitere Informationen dazu finden Sie unter USER_TASK_TIMEOUT_MS. |
Objektattribute des Image-Repositorys¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
Objektattribute des Schemas¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
comment optional, string |
Beschreibender Kommentar zum Schema. |
data_retention_time_in_days optional, integer |
Anzahl der Tage, für die Time Travel-Aktionen (CLONE und UNDROP) auf dem Schema ausgeführt werden können, sowie die standardmäßige Time Travel-Aufbewahrungsdauer für alle im Schema erstellten Tabellen. |
default_ddl_collation optional, string |
Standardsortierungsspezifikation für alle zur Datenbank hinzugefügten Schemas und Tabellen an. Sie können diesen Standard auf der Ebene des Schemas und der einzelnen Tabellen überschreiben. |
max_data_extension_time_in_days optional, integer |
Maximale Anzahl von Tagen, für die Snowflake die Datenaufbewahrungsfrist für Tabellen in der Datenbank verlängern kann, um zu verhindern, dass Streams auf den Tabellen veraltet sind. |
suspend_task_after_num_failures optional, integer |
Anzahl der nacheinander fehlgeschlagenen Aufgabenausführungen, nach denen die aktuelle Aufgabe automatisch angehalten wird. |
user_task_managed_initial_warehouse_size optional, integer |
Größe der Computeressourcen, die für die erstmalige Ausführung der Aufgabe bereitgestellt werden sollen, bevor ein Aufgabenverlauf für Snowflake verfügbar ist, um eine ideale Größe zu ermitteln. |
user_task_timeout_ms optional, integer |
Zeitlimit in Millisekunden für die einzelne Ausführung der Aufgabe an, bevor das Zeitlimit überschritten wird. Weitere Informationen dazu finden Sie unter USER_TASK_TIMEOUT_MS. |
Objektattribute des Dienstes¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
computepool erforderlich, string |
Name des Computepools in Ihrem Konto, auf dem der Service ausgeführt werden soll. |
spec required, object |
Dienstspezifikation. Einzelheiten finden Sie in der Dienstspezifikationstabelle. |
external_access_integrations optional, string list |
Namen der Integrationen für den externen Zugriff an, die Ihrem Dienst den Zugriff auf externe Websites ermöglichen. |
auto_resume optional, boolean |
Gibt an, ob ein Dienst automatisch fortgesetzt werden soll, wenn eine Dienstfunktion oder eingehender Datenverkehr an ihn übermittelt wird. |
min_instances optional, integer |
Minimale Anzahl von auszuführenden Dienstinstanzen. |
max_instances optional, integer |
Maximale Anzahl von auszuführenden Dienstinstanzen. |
query_warehouse optional, string |
Zu verwendendes Warehouse, wenn ein Dienstcontainer eine Verbindung zu Snowflake herstellt, um eine Abfrage auszuführen, aber das zu verwendende Warehouse nicht ausdrücklich angibt. |
comment optional, string |
Kommentar zum Dienst. |
Service specification attributes
Attribut |
Beschreibung |
|---|---|
spec_type erforderlich, string |
Typ der Dienstspezifikation. Mögliche Werte sind |
spec_text erforderlich, string |
(Nur gültig für Dienstspezifikation. Sie können doppelte Dollarzeichen ($$) verwenden, um den Anfang und das Ende der Spezifikationszeichenfolge abzugrenzen. |
stage erforderlich, string |
(Nur gültig für Snowflake-interner Stagingbereich, in dem die Spezifikationsdatei gespeichert ist, z. B. |
name erforderlich, string |
(Nur gültig für Pfad zur Dienstspezifikationsdatei im Stagingbereich, z. B. |
Objektattribute der Tabelle¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. Der Name muss in dem Schema, in dem die Tabelle erstellt wird, eindeutig sein. |
kind optional, string |
Tabellentyp. Mögliche Werte sind: TABLE für permanente Tabellen, TEMPORARY und TRANSIENT. |
comment optional, string |
Beschreibung der Tabelle. |
cluster_by[] optional, string list |
Liste eine oder mehrerer Spalten oder Spaltenausdrücke in der Tabelle als Gruppierungsschlüssel. |
enable_schema_evolution optional, boolean |
Gibt an, ob die Schemaentwicklung für die Tabelle aktiviert oder deaktiviert werden soll. |
change_tracking optional, boolean |
Gibt an, ob die Änderungsverfolgung für die Tabelle aktiviert oder deaktiviert werden soll. |
data_retention_time_in_days optional, integer |
Aufbewahrungsfrist für die Tabelle, in Tagen angegeben, sodass Time Travel-Aktionen SELECT, CLONE, UNDROP auf für historische Daten in der Tabelle durchgeführt werden können. |
max_data_extension_time_in_days optional, integer |
Maximale Anzahl von Tagen, für die Snowflake die Datenaufbewahrungsfrist verlängern kann, dass Streams auf der dynamischen Tabelle veraltet sind. |
default_ddl_collation optional, string |
Standardsortierungsspezifikation für die Spalten in der Tabelle, einschließlich der Spalten, die der Tabelle in Zukunft hinzugefügt werden. |
columns required, column list |
Liste der Spaltendefinitionen. Siehe Attribute der Spaltendefinitionen. |
Constraints optional, constraint list |
Liste der Einschränkungsdefinitionen. Siehe Attributen der Einschränkungsdefinitionen. |
Column definition attributes
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Spaltenname. |
datatype erforderlich, string |
Typ der in der Spalte enthaltenen Daten. |
nullable optional, boolean |
Gibt an, ob die Spalte NULL-Werte zulässt. |
collate optional, string |
Sortierung, die für Spaltenoperationen wie den Zeichenfolgenvergleich verwendet werden soll. |
default optional, string |
Gibt an, ob, ob ein Standardwert automatisch in die Spalte eingefügt werden soll, wenn ein Wert nicht explizit mit einer Anweisung INSERT oder CREATE TABLE AS SELECT angegeben wird. |
autoincrement optional, boolean |
Gibt an, ob die Zahl automatisch erhöht und in aufeinanderfolgende Spalten aufgenommen werden soll. |
autoincrement_start optional, integer |
Startwert für die Spalte. |
autoincrement_increment optional, integer |
Inkrement zur Ermittlung der nächsten automatisch erhöhten Zahl. |
comment optional, string |
Spaltenbeschreibung. |
Constraint definition attributes
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Einschränkungsname. |
column_names required, string list |
Namen der Spalten, auf die die Einschränkung angewendet werden soll. |
constraint_type erforderlich, string |
Typ der Einschränkung. Mögliche Werte sind: UNIQUE, PRIMARY, KEY und FOREIGN KEY. |
referenced_table_name erforderlich, string |
(Gültig nur für Name der Tabelle, auf die der Fremdschlüssel verweist |
referenced_column_names optional, string |
(Gültig nur für Namen der Spalten, auf die der Fremdschlüssel verweist |
Aufgabenattribute¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
definition erforderlich, string |
SQL-Definition für die Aufgabe. Dabei kann es sich um eine einzelne SQL-Anweisung, einen Aufruf einer gespeicherten Prozedur oder um prozedurale Logik mit Snowflake-Scripting handeln. |
warehouse optional, string |
Virtuelles Warehouse, das Computerressourcen für Aufgabenläufe bereitstellt. |
schedule optional, string |
Zeitplan für die periodische Ausführung der Aufgabe. Siehe Attribute des Aufgabenzeitplans für weitere Informationen. |
comment optional, string |
Beschreibender Kommentar zur Aufgabe. |
predecessors optional, string list |
Eine oder mehrere Vorgängeraufgaben für die aktuelle Aufgabe. |
user_task_managed_initial_warehouse_size optional, string |
Größe der Computeressourcen, die für die erstmalige Ausführung der Aufgabe bereitgestellt werden sollen. |
user_task_timeout_ms optional, string |
Zeitlimit in Millisekunden für die einzelne Ausführung der Aufgabe, bevor das Zeitlimit überschritten wird. Weitere Informationen dazu finden Sie unter USER_TASK_TIMEOUT_MS. |
suspend_task_after_num_failures optional, integer |
Anzahl der nacheinander fehlgeschlagenen Aufgabenausführungen, nach denen die aktuelle Aufgabe automatisch angehalten wird. |
condition optional, string |
Boolesche SQL Ausdrucksbedingung. Es werden mehrere mit AND/OR verknüpfte Bedingungen unterstützt. |
allow_overlapping_execution optional, boolean |
Gibt an, ob mehrere Instanzen des DAG gleichzeitig ausgeführt werden dürfen. |
Task schedule attributes
Attribut |
Beschreibung |
|---|---|
schedule_type optional, string |
Typ des Zeitplans. Mögliche Werte sind |
cron_expr optional, string |
(Nur gültig für Ein Cron-Ausdruck für die Ausführung der Aufgabe, z. B. |
timezone optional, string |
(Nur gültig für Zeitzone für den Zeitplan, zum Beispiel |
minutes optional, string |
(Nur gültig für Anzahl der Minuten zwischen den einzelnen Aufgabenläufen. |
Warehouse-Attribute¶
Attribut |
Beschreibung |
|---|---|
name erforderlich, string |
Snowflake-Objektbezeichner. |
comment optional, string |
Beschreibung des Warehouses. |
warehouse_type optional, string |
Typ des Warehouses. Mögliche Werte sind: STANDARD and SNOWPARK-OPTIMIZED. |
warehouse_size optional, string |
Größe des Warehouses. Mögliche Werte sind: XSMALL, SMALL, MEDIUM, LARGE, XLARGE, XXLARGE, XXXLARGE, X4LARGE, X5LARGE und X6LARGE. |
auto_suspend optional, string |
Zeit in Sekunden, bevor sich das Warehouse automatisch ausschaltet. |
auto_resume optional, string |
Gibt an, ob ein Warehouse automatisch fortgesetzt werden soll, wenn ihm eine SQL-Anweisung (z. B. Abfrage) übermittelt wird. Mögliche Werte sind: „true“ und „false“. |
max_concurrency_level optional, integer |
Parallelitätsgrad für SQL-Anweisungen, die von einem Warehouse-Cluster ausgeführt werden. |
statement_queued_timeout_in_seconds optional, integer |
Zeit in Sekunden, die eine SQL-Anweisung in der Warteschlange eines Warehouses verbleiben kann, bevor sie vom System abgebrochen wird. |
statement_timeout_in_seconds optional, integer |
Zeit in Sekunden, nach der eine laufende SQL-Anweisung vom System abgebrochen wird. |
resource_monitor optional, string |
Name eines Ressourcenmonitors, der dem Warehouse explizit zugeordnet ist. Wenn ein Ressourcenmonitor explizit einem Warehouse zugeordnet ist, steuert der Monitor die monatlichen Credits, die vom Warehouse verbraucht werden. |
Beispiele¶
Erstellen Sie ein Datenbankobjekt mit dem Parameter
option-attributes:snow object create database name=my_db comment='Created with Snowflake CLI'
Erstellen Sie ein Tabellenobjekt unter Verwendung des Parameters
option-attributes:snow object create table name=my_table columns='[{"name":"col1","datatype":"number", "nullable":false}]' constraints='[{"name":"prim_key", "column_names":["col1"], "constraint_type":"PRIMARY KEY"}]' --database my_db --schema public
Erstellen Sie eine Datenbank mit der Option
--json object-definition:snow object create database --json '{"name":"my_db", "comment":"Created with Snowflake CLI"}'
Erstellen Sie eine Tabelle mit der Option
--json object-definition:snow object create table --json "$(cat table.json)" --database my_db
wobei
table.jsonFolgendes enthält:{ "name": "my_table", "columns": [ { "name": "col1", "datatype": "number", "nullable": false } ], "constraints": [ { "name": "prim_key", "column_names": ["col1"], "constraint_type": "PRIMARY KEY" } ] }