Criação de um pacote de aplicativo

Este tópico descreve como criar e gerenciar um pacote de aplicativo com o Snowflake Native App Framework.

Sobre os pacotes de aplicativos

Um pacote de aplicativo é um contêiner que encapsula o conteúdo de dados, a lógica do aplicativo, os metadados e o script de configuração exigido por um aplicativo. Um pacote de aplicativo também contém informações sobre versões e níveis de patch definidos para o aplicativo.

Criação de um pacote de aplicativo

O Snowflake Native App Framework oferece suporte à criação de um pacote de aplicativo usando Snowsight ou, alternativamente, você pode criar um aplicativo executando comandos SQL.

Privilégios necessários para criar um pacote de aplicativo

Para criar um pacote de aplicativo, você deve ter o privilégio global CREATE APPLICATION PACKAGE concedido à sua função.

Carregamento do arquivo de manifesto e do script de configuração para um estágio nomeado

Antes de criar um pacote de aplicativo, você deve criar o arquivo de manifesto e o script de configuração e carregá-los em um estágio nomeado acessível a sua conta.

Há duas maneiras de fazer upload de arquivos para um estágio nomeado:

Criação de um pacote de aplicativo usando o Snowsight

Para criar um pacote de aplicativo usando Snowsight, faça o seguinte:

  1. Entre em Snowsight.

  2. No menu de navegação, selecione Projects » App Packages.

  3. Selecione Create » App Package.

  4. Digite um nome para seu pacote de aplicativo.

  5. Selecione o consumidor pretendido para o pacote de aplicativo:

    • Selecione Consumers outside of your organization para disponibilizar o pacote de aplicativo fora de sua organização. Ao selecionar esta opção, é iniciada uma varredura de segurança automatizada para cada versão e patch definido em seu pacote de aplicativo.

    • Selecione Consumers within your organization para disponibilizar o pacote de aplicativo em sua organização. A varredura de segurança automatizada não é iniciada.

  6. Opcionalmente, insira comentários para um pacote de aplicativo. Esses comentários não ficam visíveis para o consumidor.

  7. Selecione Create.

Criação de um pacote de aplicativo usando comandos SQL

Para criar um pacote de aplicativo usando SQL, use o comando CREATE APPLICATION PACKAGE como mostrado no exemplo a seguir:

CREATE APPLICATION PACKAGE HelloSnowflakePackage;
Copy

Depois de criar um pacote de aplicativo, use o comando SHOW APPLICATION PACKAGES para visualizar a lista de pacotes de aplicativos disponíveis.

Concessão de privilégios em um pacote de aplicativo

Algumas tarefas relacionadas ao desenvolvimento de um pacote de aplicativo necessário têm privilégios específicos configurados no pacote de aplicativo. A tabela a seguir descreve os privilégios necessários para executar essas tarefas:

Privilégio

Tarefa

ATTACH LISTING

Adicionar um pacote de aplicativo a uma listagem.

DEVELOP

Crie um objeto APPLICATION no modo de desenvolvimento a partir do pacote de aplicativo.

INSTALL

Crie um objeto APPLICATION com base no pacote de aplicativo.

MANAGE RELEASES

Especificar uma diretriz de versão, visualizar a versão e o nível do patch.

MANAGE VERSIONS

Adicione uma versão e um nível de patch a um pacote de aplicativo.

OWNERSHIP

Executar todas as tarefas acima.

Concessão de privilégios em um pacote de aplicativo usando o Snowsight

Para definir os privilégios em um pacote de aplicativo usando Snowsight, faça o seguinte:

  1. Entre em Snowsight.

  2. No menu de navegação, selecione Projects » App Packages.

  3. Selecione o pacote de aplicativo e, em seguida, selecione a aba Settings.

  4. Na seção Privileges, selecione o ícone de edição ao lado do privilégio que deseja conceder.

  5. Selecione Add Role, em seguida, selecione a função à qual deseja conceder o privilégio.

  6. Selecione Save.

A função aparece ao lado do privilégio.

Definição de privilégios em um pacote de aplicativo usando comandos SQL

Para conceder um privilégio no pacote de aplicativo a uma função usando SQL, use o comando GRANT <privilégios> como mostrado no exemplo a seguir:

GRANT MANAGE RELEASES ON APPLICATION PACKAGE HelloSnowflakePackage TO ROLE app_release_mgr;
Copy

Este comando concede o privilégio MANAGE RELEASES à função app_release_mgr. Você pode usar o mesmo comando para conceder os outros privilégios disponíveis em um pacote de aplicativo.

Transferência da propriedade de um pacote de aplicativo

Depois de criar um pacote de aplicativo, você pode transferir a propriedade do pacote de aplicativo para outra função no nível da conta.

Transferência de propriedade usando o Snowsight

Para transferir a propriedade de um pacote de aplicativo usando Snowsight, faça o seguinte:

  1. Entre em Snowsight.

  2. No menu de navegação, selecione Projects » App Packages.

  3. Selecione ao lado do pacote de aplicativo que deseja remover e selecione Transfer Ownership.

  4. Em Transfer to, selecione a nova função no nível da conta.

  5. Selecione Transfer.

Transferência de propriedade usando comandos SQL

Para transferir a propriedade de um pacote de aplicativo para uma função de nível de conta diferente usando SQL, use o comando GRANT OWNERSHIP como mostrado no exemplo a seguir:

GRANT OWNERSHIP ON APPLICATION HelloSnowflakePackage TO ROLE native_app_dev;
Copy

Remoção de um pacote de aplicativo da sua conta

Usuários com o privilégio OWNERSHIP em um pacote de aplicativo pode removê-lo de uma conta. No entanto, você não pode remover um pacote de aplicativo que está atualmente associado a uma listagem.

Depois de remover um pacote de aplicativo, ele não fica mais disponível na conta do provedor.

Nota

Depois de remover uma listagem e o pacote de aplicativo anexado, o consumidor pode visualizar, mas não acessar o Snowflake Native App criado a partir do pacote de aplicativo. Se um consumidor tentar acessar o Snowflake Native App, ele receberá um erro indicando que o pacote de aplicativo foi removido.

Criação de um pacote de aplicativo usando o Snowsight

Para remover um pacote de aplicativo usando Snowsight, faça o seguinte:

  1. Entre em Snowsight.

  2. No menu de navegação, selecione Projects » App Packages.

  3. Selecione ao lado do pacote de aplicativo que deseja remover e selecione Drop.

Criação de um pacote de aplicativo usando comandos SQL

Para remover um pacote de aplicativo usando SQL, execute o comando DROP APPLICATION PACKAGE conforme mostrado no exemplo a seguir:

DROP APPLICATION PACKAGE HelloSnowflakePackage;
Copy