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:
Usando Snowsight: Para obter detalhes, consulte Preparação de arquivos usando o Snowsight.
Usando o comando PUT:
Criação de um pacote de aplicativo usando o Snowsight¶
Para criar um pacote de aplicativo usando Snowsight, faça o seguinte:
Entre em Snowsight.
No menu de navegação, selecione Projects » App Packages.
Selecione Create » App Package.
Digite um nome para seu pacote de aplicativo.
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.
Opcionalmente, insira comentários para um pacote de aplicativo. Esses comentários não ficam visíveis para o consumidor.
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;
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:
Entre em Snowsight.
No menu de navegação, selecione Projects » App Packages.
Selecione o pacote de aplicativo e, em seguida, selecione a aba Settings.
Na seção Privileges, selecione o ícone de edição ao lado do privilégio que deseja conceder.
Selecione Add Role, em seguida, selecione a função à qual deseja conceder o privilégio.
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;
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:
Entre em Snowsight.
No menu de navegação, selecione Projects » App Packages.
Selecione … ao lado do pacote de aplicativo que deseja remover e selecione Transfer Ownership.
Em Transfer to, selecione a nova função no nível da conta.
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;
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:
Entre em Snowsight.
No menu de navegação, selecione Projects » App Packages.
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;