CREATE APPLICATION¶
Erstellt ein neues Anwendungsobjekt unter Verwendung eines Anwendungspakets oder eines Freigabeangebots. Dieser Befehl wird von Anbietern verwendet, um ein Anwendungspaket vor dem Veröffentlichen eines Snowflake Native App zu testen.
Wenn dieser Befehl ausgeführt wird, wird das Setup-Skript des Anwendungspakets ausgeführt.
Syntax¶
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
USING <path_to_version_directory>
[ DEBUG_MODE = { TRUE | FALSE } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [, ...] ) ]
CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
USING VERSION <version_identifier> [ PATCH <patch_num> ]
[ DEBUG_MODE = { TRUE | FALSE } ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
CREATE APPLICATION <name> FROM LISTING <listing_name>
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
[ BACKGROUND_INSTALL = { TRUE | FALSE } ]
Erforderliche Parameter¶
name
Gibt den Bezeichner der Anwendung an. Dieser muss für Ihr Konto eindeutig sein.
Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
FROM APPLICATION PACKAGE package_name
Gibt den Namen des Anwendungspakets an, das zum Erstellen der Anwendung verwendet wird. Wenn Sie diese Klausel verwenden möchten, um eine Anwendung aus einem Anwendungspaket ohne Angabe eines Stagingbereichs oder von Version/Patch zu erstellen, muss für das Anwendungspaket eine Standard-Release-Richtlinie definiert werden.
Diese Klausel kann nur verwendet werden, um eine Anwendung in demselben Konto wie das Anwendungspaket zu erstellen. Diese Klausel kann nicht verwendet werden, um eine Anwendung im Entwicklungsmodus zu erstellen.
FROM LISTING listing_name
Gibt den Namen des Freigabeangebots an, das das Anwendungspaket enthält, das zum Erstellen der Anwendung verwendet wurde.
USING path_to_version_directory
Gibt den Pfad zu dem Stagingbereich an, der die Anwendungsdateien für die Anwendung enthält.
USING version [ PATCH patch_num ]
Gibt die Version und optional den Patch an, die in dem Anwendungspaket definiert sind, das zum Erstellen der Anwendung verwendet wurde.
Optionale Parameter¶
COMMENT = 'string_literal'
Gibt einen Kommentar für die Anwendung an.
Standard: Kein Wert
DEBUG_MODE = { TRUE | FALSE }
Aktiviert oder deaktiviert den Debug-Modus für das zu installierende Anwendungsobjekt. Der Debug-Modus ermöglicht es einem Anbieter, den Inhalt des Anwendungsobjekts anzuzeigen.
TRUE
aktiviert den Debug-Modus für die installierte Anwendung.FAlSE
deaktiviert den Debug-Modus für die installierte Anwendung.
Bemerkung
Sie können
DEBUG_MODE
nur einstellen, wenn die Anwendung die folgenden Voraussetzungen erfüllt:Die Anwendung befindet sich in demselben Konto wie das Anwendungspaket.
Die Anwendung wird aus einer bestimmten Version oder aus Dateien in einem benannten Stagingbereich erstellt.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.
Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.
Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.
BACKGROUND_INSTALL = { TRUE | FALSE }
Erstellt im Hintergrund das Anwendungsobjekt aus einem Freigabeangebot. Wenn Sie diese Klausel angeben, kehrt der Befehl sofort zur Eingabeaufforderung zurück, und der Installationsprozess wird im Hintergrund fortgesetzt. Um diesen Status der Installation zu überwachen, verwenden Sie den Befehl DESCRIBE APPLICATION.
Bemerkung
Wenn Sie diese Klausel verwenden, wird das Anwendungsobjekt auch dann erstellt, wenn der Befehl fehlschlägt. Verwenden Sie in diesem Fall den Befehl DROP APPLICATION, um das Objekt zu löschen, bevor Sie den Befehl CREATE APPLICATION erneut ausführen.
Diese Klausel wird hauptsächlich von Snowsight verwendet, um eine Snowflake Native App im Hintergrund zu installieren. Die Installation im Hintergrund ermöglicht es dem Verbraucher, während der Installation des Freigabeangebots in Snowsight an andere Stellen zu navigieren. Ein Anbieter kann diese Klausel verwenden, um die Installation einer Snowflake Native App aus einem Freigabeangebot zu testen, bevor das Angebot veröffentlicht wird.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
CREATE APPLICATION |
Konto |
|
DEVELOP |
Anwendungspaket |
|
INSTALL |
Anwendungspaket |
|
IMPORT SHARE CREATE APPLICATION |
Konto |
Diese Berechtigungen sind erforderlich, um ein Anwendungsobjekt in einem anderen Konto als dem Konto zu erstellen, welches das Anwendungspaket enthält. |
Nutzungshinweise¶
Um eine Anwendung direkt aus einem Anwendungspaket zu erstellen, müssen Sie eine Standard-Release-Richtlinie in dem Anwendungspaket angeben.
Das Anwendungsobjekt unterscheidet sich in den folgenden Punkten von einer Datenbank:
Eine Anwendung darf nicht transient sein.
Für die Rolle mit OWNERSHIP-Berechtigung für die Anwendung gilt Folgendes:
Die Rolle kann die Datenbank löschen oder die Eigenschaft COMMENT sowie alle anwendungsspezifischen Eigenschaften ändern.
Die Rolle kann den Inhalt der Anwendung nur anzeigen oder ändern, wenn den Anwendungsrollen entsprechende Berechtigungen erteilt wurden. Außerdem kann diese Rolle kein Objekt auf Datenbankebene erstellen, wie ein Schema oder eine Datenbankrolle.
Metadaten:
Achtung
Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.
CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.
Beispiele¶
CREATE APPLICATION hello_snowflake_app
FROM APPLICATION PACKAGE hello_snowflake_package
USING VERSION v1;
+---------------------------------------------------------+
| status |
|---------------------------------------------------------|
| Application 'hello_snowflake_app' created successfully. |
+---------------------------------------------------------+
CREATE APPLICATION hello_snowflake_app
FROM APPLICATION PACKAGE hello_snowflake_package
USING '@hello_snowflake_code.core.hello_snowflake_stage';
+---------------------------------------------------------+
| status |
|---------------------------------------------------------|
| Application 'hello_snowflake_app' created successfully. |
+---------------------------------------------------------+