CREATE APPLICATION PACKAGE

Erstellt ein neues Anwendungspaket, das den Dateninhalt und die Anwendungslogik einer Anwendung enthält, die das Native Apps Framework verwendet. Ein Anwendungspaket ist eine Datenbank mit zusätzlichen Features, die Folgendes festlegen:

  • Die Version einer Anwendung.

  • Den Dateninhalt, der der Anwendung zur Verfügung steht.

Siehe auch:

ALTER APPLICATION PACKAGE, DROP APPLICATION PACKAGE, SHOW APPLICATION PACKAGES

Syntax

CREATE APPLICATION PACKAGE [ IF NOT EXISTS ] <name>
  [ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
  [ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
  [ COMMENT = '<string_literal>' ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
  [ DISTRIBUTION = { INTERNAL | EXTERNAL } ]
Copy

Erforderliche Parameter

name

Gibt den Bezeichner für das Anwendungspaket 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 Details dazu finden Sie unter Anforderungen an Bezeichner.

Optionale Parameter

DATA_RETENTION_TIME_IN_DAYS = integer

Gibt die Anzahl der Tage an, für die Time Travel-Aktionen (CLONE und UNDROP) auf dem Anwendungspaket ausgeführt werden können, sowie die standardmäßige Time Travel-Aufbewahrungsdauer für alle in der Datenbank erstellten Schemas.

Weitere Details dazu finden Sie unter Verstehen und Verwenden von Time Travel.

Eine ausführliche Beschreibung dieses Parameters auf Objektebene sowie weitere Informationen zu Objektparametern finden Sie unter Parameter.

Werte:

  • Standardausführung: 0 oder 1

  • Enterprise Edition:

    • 0 bis 90 für permanente Datenbanken

Standard:

  • Standardausführung: 1

  • Enterprise Edition (oder höher): 1 (es sei denn, auf Kontoebene wurde ein anderer Standardwert angegeben)

Bemerkung

Mit dem Wert 0 wird Time Travel für die Datenbank deaktiviert.

MAX_DATA_EXTENSION_TIME_IN_DAYS = integer

Objektparameter, der die maximale Anzahl von Tagen angibt, für die Snowflake die Datenaufbewahrungsfrist für Tabellen im Anwendungspaket verlängern kann, um zu verhindern, dass Streams auf den Tabellen veraltet sind.

Eine detaillierte Beschreibung dieses Parameters finden Sie unter MAX_DATA_EXTENSION_TIME_IN_DAYS.

DEFAULT_DDL_COLLATION = 'collation_specification'

Gibt eine Standard-Sortierungsspezifikation für alle zum Anwendungspaket hinzugefügten Schemas und Tabellen an. Der Standardwert kann auf der Ebene des Schemas und der einzelnen Tabelle überschrieben werden.

Weitere Informationen zu diesem Parameter finden Sie unter DEFAULT_DDL_COLLATION.

COMMENT = 'string_literal'

Gibt einen Kommentar für das Anwendungspaket an.

Standard: Kein Wert

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.

DISTRIBUTION = { INTERNAL | EXTERNAL }

Gibt an, ob ein Verbraucher eine Anwendung auf Grundlage des Anwendungspakets in einer externen Organisation erstellen kann.

  • INTERNAL legt fest, dass ein Verbraucher eine Anwendung innerhalb derselben Organisation erstellen kann, in der das Anwendungspaket erstellt wurde.

  • EXTERNAL legt fest, dass ein Verbraucher eine Anwendung auch in einer anderen Organisation erstellen kann.

    Bemerkung

    Wenn Sie den Parameter DISTRIBUTION auf EXTERNAL setzen, wird eine automatische Sicherheitsüberprüfung für jede im Anwendungspaket definierte aktive Version und jeden aktiven Patch ausgelöst.

    Die folgenden Einschränkungen gelten so lange, bis die automatische Sicherheitsüberprüfung den Status APPROVED hat:

    • Sie können keine Freigaberichtlinie für eine Version oder einen Patch festlegen.

    • Sie können kein Freigabeangebot für das Anwendungspaket veröffentlichen.

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 PACKAGE

Konto

Standardmäßig verfügt die Rolle ACCOUNTADMIN über diese Berechtigung. Die Berechtigung kann je nach Bedarf auch anderen Rollen erteilt werden.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz 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.

Nutzungshinweise

  • Um ein Anwendungspaket zu erstellen, muss der Aufrufer über die Berechtigung CREATE APPLICATION PACKAGE für das Konto verfügen.

  • Es gibt keine Beschränkungen hinsichtlich der Objekttypen, die sich im Anwendungspaket befinden können, oder hinsichtlich der Rollen (Datenbank- oder Kontoebene), die Eigentümer dieser Objekte sein dürfen.

  • Regarding metadata:

    Achtung

    Customers should ensure that no personal data (other than for a User object), sensitive data, export-controlled data, or other regulated data is entered as metadata when using the Snowflake service. For more information, see Metadatenfelder in Snowflake.

  • CREATE OR REPLACE <object> statements are atomic. That is, when an object is replaced, the old object is deleted and the new object is created in a single transaction.

Beispiele

CREATE APPLICATION PACKAGE hello_snowflake_package;
Copy
+-----------------------------------------------------------------------+
| status                                                                |
|-----------------------------------------------------------------------|
| Application Package 'hello_snowflake_package' created successfully.   |
+-----------------------------------------------------------------------+