CREATE APPLICATION

Crée un nouvel objet d’application à l’aide d’un paquet d’application ou d’une annonce. Cette commande est utilisée par les fournisseurs pour tester un paquet d’application avant de publier une Snowflake Native App.

Lorsque cette commande est exécutée, elle lance le script d’installation du paquet d’application.

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>' [ , ... ] ) ]
   [ BACKGROUND_INSTALL = { TRUE | FALSE } ]
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’objet d’application à créer. Le mode débogage permet au fournisseur de voir le contenu de l’objet de l’application.

  • 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 d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.

BACKGROUND_INSTALL = { TRUE | FALSE }

Crée l’objet de l’application à partir d’une annonce en arrière-plan. Si vous spécifiez cette clause, la commande vous ramène immédiatement à l’invite et le processus d’installation se poursuit en arrière-plan. Pour contrôler le statut de l’installation, utilisez la commande DESCRIBE APPLICATION.

Note

Lorsque cette clause est utilisée, l’objet de l’application est créé même si la commande échoue. Dans ce cas, utilisez la commande DROP APPLICATION pour supprimer l’objet avant d’exécuter à nouveau la commande CREATE APPLICATION.

Cette clause est principalement utilisée par Snowsight pour installer une Snowflake Native App en arrière-plan. L’installation en arrière-plan permet au consommateur de naviguer hors de l’annonce de Snowsight pendant l’installation. Un fournisseur peut utiliser cette clause pour tester l’installation d’une Snowflake Native App d’une annonce avant de la publier.

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.

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

  • Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule 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. |
+---------------------------------------------------------+