CREATE APPLICATION

Crée une Snowflake Native App en fonction d’un paquet d’application ou d’une annonce. Les fournisseurs utilisent cette commande pour installer une application dans leur compte de développement.

When this command runs, it runs the setup script to create the app.

Voir aussi :

ALTER APPLICATION, DESCRIBE APPLICATION, DROP APPLICATION, SHOW APPLICATIONS

Syntaxe

CREATE APPLICATION <name> FROM APPLICATION PACKAGE <package_name>
   [ USING RELEASE CHANNEL { QA | ALPHA | DEFAULT } ]
   [ COMMENT = '<string_literal>' ]
   [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
   [ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
   [ WITH FEATURE POLICY = <policy_name> ]

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>' [, ...] ) ]
  [ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
  [ WITH FEATURE POLICY = <policy_name> ]


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>' [ , ... ] ) ]
  [ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
  [ WITH FEATURE POLICY = <policy_name> ]

CREATE APPLICATION <name> FROM LISTING <listing_name>
   [ USING RELEASE CHANNEL { QA | ALPHA | DEFAULT } ]
   [ COMMENT = '<string_literal>' ]
   [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
   [ BACKGROUND_INSTALL = { TRUE | FALSE } ]
   [ AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE } ]
   [ WITH FEATURE POLICY = <policy_name> ]
Copy

Paramètres requis

name

Specifies the identifier for the app. Must be unique for your account.

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

Specifies the name of the application package used to create the app. To use this clause to create an app from an application package without specifying a stage or a version/patch, the application package must have a default release directive defined.

This clause can only be used to create an app in the same account as the application package. This clause cannot be used to create an app in development mode.

FROM LISTING listing_name

Specifies the name of the listing that contains the application package used to create the app.

USING RELEASE CHANNEL QA | ALPHA | DEFAULT

Spécifie le canal de version défini dans le paquet d’application ou l’annonce utilisé pour créer l’application. Si vous ne spécifiez pas cette clause, le canal de version par défaut est utilisé.

  • QA spécifie le canal de version de l’assurance qualité.

  • ALPHA spécifie le canal de version alpha.

  • DEFAULT spécifie le canal de version par défaut.

This clause can be used only when creating an app from an application package that has a release directive defined or when creating an app from a listing.

USING path_to_version_directory

Specifies the path to the stage that contains the files required by the app.

USING version [ PATCH patch_num ]

Specifies the version, and optionally the patch, defined in the application package used to create the app.

Paramètres facultatifs

COMMENT = 'string_literal'

Specifies a comment for the app.

Par défaut : aucune valeur

DEBUG_MODE = { TRUE | FALSE }

Enables or disables debug mode for the app being created. Debug mode allows a provider to see the contents of the app.

  • TRUE enables debug mode for the installed app.

  • FAlSE disables debug mode for the installed app.

Note

You can only enable debug mode under the following conditions:

  • The app is in the same account as the application package.

  • The app is being created based on a specific version or from files on a named stage.

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 Tag quotas.

BACKGROUND_INSTALL = { TRUE | FALSE }

Creates the app from a listing in the background. If you specify this clause, the command returns you to the prompt immediately, and the installation process continues in the background. To monitor that status of the installation, use the DESCRIBE APPLICATION command.

Note

When this clause is used, the app is created even if the command fails. In this situation, use the DROP APPLICATION command to delete the object before running the CREATE APPLICATION command again.

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.

AUTHORIZE_TELEMETRY_EVENT_SHARING = { TRUE | FALSE }

Active la journalisation et le partage d’événements dans l’application.

WITH FEATURE POLICY = policy_name

Créez l’application avec la politique de fonctions spécifiée. Si l’application tente de créer un objet que la politique de fonctions interdit (comme une base de données), la commande échoue.

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

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

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 une application dans un compte différent de celui qui contient le paquet d’application.

APPLY FEATURE POLICY

APPLY ou OWNERSHIP

Compte

Politique des fonctions

Ces privilèges sont requis pour appliquer une politique de fonctions lors de la création de l’application à l’aide de la clause WITH FEATURE POLICY.

Notes sur l’utilisation

  • To create an app directly from an application package, you must specify a default release directive in the application package.

  • The app differs from a database in the following ways:

    • An app may not be transient.

    • The role with the OWNERSHIP privilege on the app has the following abilities and limitations:

      • Can drop the database or modify the COMMENT property and any properties that are specific to the app.

      • Cannot see or modify the contents of the app except via the privileges granted the application roles.

      • 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. |
+---------------------------------------------------------+