CREATE APPLICATION¶
Cria um novo aplicativo com base em um pacote ou listagem de aplicativos usando o Native Apps Framework.
- Consulte também:
ALTER APPLICATION, DESCRIBE APPLICATION, DROP APPLICATION, SHOW APPLICATIONS
Sintaxe¶
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>' [ , ... ] ) ]
Parâmetros obrigatórios¶
name
Especifica o identificador do aplicativo. Deve ser único para sua conta.
Além disso, o identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.Para obter mais detalhes, consulte Requisitos para identificadores.
FROM APPLICATION PACKAGE package_name
Especifica o nome do pacote de aplicativo usado para criar o aplicativo. Para usar esta cláusula para criar um aplicativo a partir de um pacote de aplicativo sem especificar um estágio ou uma versão/patch, o pacote de aplicativo deve ter uma diretriz de versão padrão definida.
Esta cláusula só pode ser usada para criar um aplicativo na mesma conta que o pacote do aplicativo. Esta cláusula não pode ser usada para criar um aplicativo no modo de desenvolvimento.
FROM LISTING listing_name
Especifica o nome da listagem que contém o pacote de aplicativo usado para criar o aplicativo.
USING path_to_version_directory
Especifica o caminho para o estágio que contém os arquivos do aplicativo para o aplicativo.
USING version [ PATCH patch_num ]
Especifica a versão e, opcionalmente, o patch, definido no pacote do aplicativo usado para criar o aplicativo.
Parâmetros opcionais¶
COMMENT = 'string_literal'
Especifica um comentário para o aplicativo.
Padrão: sem valor
DEBUG_MODE = { TRUE | FALSE }
Ativa ou desativa o modo de depuração do aplicativo a ser instalado.
TRUE
ativa o modo de depuração para o aplicativo instalado.FAlSE
desativa o modo de depuração para o aplicativo instalado.
Nota
Você só pode definir
DEBUG_MODE
se o aplicativo cumprir os seguintes requisitos:O aplicativo está na mesma conta que o pacote do aplicativo.
O aplicativo está sendo criado a partir de uma versão específica ou de arquivos em um estágio nomeado.
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter mais detalhes sobre como especificar tags em uma instrução, consulte Cotas de tags para objetos e colunas.
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
CREATE APPLICATION |
Conta |
|
DEVELOP |
Pacote de aplicativo |
|
INSTALL |
Pacote de aplicativo |
|
IMPORT SHARE CREATE APPLICATION |
Conta |
Esses privilégios são necessários para criar um objeto de aplicativo em uma conta diferente da conta que contém o pacote do aplicativo. |
Notas de uso¶
Para criar um aplicativo diretamente de um pacote de aplicativo, você deve especificar uma diretriz de versão padrão no pacote de aplicativo.
O objeto de aplicativo difere de um banco de dados das seguintes maneiras:
Um aplicativo não pode ser transitório.
A função com o privilégio OWNERSHIP no aplicativo:
Pode descartar o banco de dados ou modificar o COMMENT bem como quaisquer propriedades específicas do aplicativo.
Não é possível ver ou modificar o conteúdo do aplicativo, exceto por meio dos privilégios concedidos às funções do aplicativo. Além disso, essa função não pode criar um objeto em nível de banco de dados, como um esquema ou uma função de banco de dados.
Exemplos¶
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. |
+---------------------------------------------------------+