CREATE APPLICATION

Crée une nouvelle application sur la base d’un paquet d’application ou d’une annonce à l’aide du Native Apps Framework.

Voir aussi :

ALTER APPLICATION, DESCRIBE APPLICATION, DROP APPLICATION, SHOW APPLICATIONS

Syntaxe

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>' [ , ... ] ) ]
Copy

Paramètres requis

name

Spécifie l’identificateur d’une application. Doit être unique pour votre compte.

De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple, "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus de détails, reportez-vous à Exigences relatives à l’identificateur.

FROM APPLICATION PACKAGE package_name

Spécifie le nom du paquet d’application utilisé pour créer l’application. Pour utiliser cette clause afin de créer une application à partir d’un paquet d’application sans spécifier de zone de préparation ou de version/correctif, le paquet d’application doit avoir une directive de version par défaut définie.

Cette clause ne peut être utilisée que pour créer une application dans le même compte que le paquet d’application. Cette clause ne peut pas être utilisée pour créer une application en mode développement.

FROM LISTING listing_name

Spécifie le nom de l’annonce contenant le paquet d’application utilisé pour créer l’application.

USING path_to_version_directory

Spécifie le chemin à la zone de préparation contenant les fichiers de l’application.

USING version [ PATCH patch_num ]

Spécifie la version, et éventuellement le correctif, définis dans le paquetage d’application utilisé pour créer l’application.

Paramètres facultatifs

COMMENT = 'string_literal'

Spécifie un commentaire pour l’application.

Par défaut : aucune valeur

DEBUG_MODE = { TRUE | FALSE }

Active ou désactive le mode débogage pour l’application à installer.

  • TRUE active le mode débogage pour l’application installée.

  • FAlSE désactive le mode débogage pour l’application installée.

Note

Vous ne pouvez définir DEBUG_MODE que si l’application remplit les conditions suivantes :

  • L’application se trouve sur le même compte que le paquet d’application.

  • L’application est créée à partir d’une version spécifique ou de fichiers se trouvant sur une zone de préparation nommée.

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

Spécifie le nom de la balise et la valeur de la chaîne de la balise.

La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.

Pour plus de détails sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

CREATE APPLICATION

Compte

DEVELOP

Paquet d’application

INSTALL

Paquet d’application

IMPORT SHARE

CREATE APPLICATION

Compte

Ces privilèges sont requis pour créer un objet d’application dans un compte différent de celui qui contient le paquet d’application.

Notes sur l’utilisation

  • Pour créer une application directement à partir d’un paquet d’application, vous devez spécifier une directive de version par défaut dans le paquet d’application.

  • L’objet d’application diffère d’une base de données sur les points suivants :

    • Une application ne peut pas être transitoire.

    • Le rôle avec le privilège OWNERSHIP sur l’application :

      • Peut supprimer la base de données ou modifier la propriété COMMENT ainsi que toutes les propriétés spécifiques à l’application.

      • Ne peut pas voir ou modifier le contenu de l’application sauf via les privilèges accordés aux rôles de l’application. En outre, ce rôle ne peut pas créer d’objet au niveau de la base de données, tel qu’un schéma ou un rôle de base de données.

  • Regarding metadata:

    Attention

    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 Champs de métadonnées dans 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.

Exemples

CREATE APPLICATION hello_snowflake_app
  FROM APPLICATION PACKAGE hello_snowflake_package
  USING VERSION v1;
Copy
+---------------------------------------------------------+
| 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';
Copy
+---------------------------------------------------------+
| status                                                  |
|---------------------------------------------------------|
| Application 'hello_snowflake_app' created successfully. |
+---------------------------------------------------------+