Criação e instalação de seu aplicativo

Pré-requisitos

  • Você deve ter uma conexão existente em seu arquivo config.toml.

  • Você deve ter um arquivo snowflake.yml no seu projeto de aplicativo nativo.

Como criar um pacote de aplicativo e um objeto de aplicativo juntos

O comando snow app run reúne todos os diferentes arquivos de código, cria um pacote de aplicativo, carrega o código para um estágio do Snowflake neste pacote de aplicativo, valida o script de configuração SQL e também instala ou atualiza um aplicativo na mesma conta deste pacote de aplicativo. Este comando é orientado pelos valores especificados na definição do projeto resolvido para determinar em qual estágio os arquivos serão carregados, quais arquivos serão carregados e os nomes dos objetos a serem criados.

Para criar um objeto de aplicativo, faça o seguinte:

  1. Crie uma conexão, se necessário.

  2. Faça alterações relevantes em seus arquivos de código, incluindo snowflake.yml, manifest.yml, quaisquer scripts de configuração e arquivos de código de extensão.

  3. Execute o comando snow app run de dentro do seu projeto, semelhante ao seguinte:

    snow app run --connection="dev"
    
    Copy

Quando bem-sucedido, o comando exibe uma mensagem semelhante à seguinte:

Your application ("my_app_admin") is now live:
https://app.snowflake.com/data_org/data_acct/#/apps/application/my_app_admin

O uso do comando snow app run --connection="dev" cria um aplicativo usando os arquivos em um estágio nomeado que é gerenciado automaticamente por Snowflake CLI. Você também pode usar o comando para criar ou atualizar seu aplicativo, mesmo que seu pacote de aplicativo já exista. Neste caso, o comando emite um UPGRADE no seu objeto de aplicativo, que executará seu script de configuração. Para obter informações sobre como evitar a reexecução do script de instalação, consulte a próxima seção.

Para criar um aplicativo usando uma versão (e patch) de um pacote de aplicativo existente, execute o seguinte:

snow app run --version v1 --patch 12 --connection="dev"
Copy

Aqui, versão V1 e patch 12 são usados apenas como exemplo. Para obter mais informações sobre a criação de objetos Snowflake Native App, veja o comando snow app run.

Como criar um pacote de aplicativo

O comando snow app deploy executa um subconjunto das etapas que snow app run executa para implantar seu código no Snowflake. Embora ele ainda reúna todos os diferentes arquivos de código, crie um pacote de aplicativo, carregue o código para um estágio nomeado neste pacote de aplicativo e valide o script SQL de configuração, o comando snow app deploy não tenta criar ou atualizar um objeto de aplicativo.

O comando snow app deploy é particularmente útil nas seguintes situações:

  • Implantar apenas o pacote do aplicativo e os arquivos de estágio, para situações em que um objeto de aplicativo não é necessário (como parte de um pipeline de Entrega Contínua).

  • Atualizar os arquivos de estágio vinculados ao objeto do aplicativo. Por exemplo, se você alterou apenas os arquivos de código Python, não precisa recriar os objetos PROCEDURE, FUNCTION e STREAMLIT que apontam para ele ao usar o modo de desenvolvimento de estágio. Essa abordagem economiza tempo e reduz custos, pois você não precisa usar um warehouse para reexecutar o script de configuração para usar o código Python atualizado.

Para criar um pacote de aplicativo sem um objeto de aplicativo correspondente, faça o seguinte:

  1. Crie uma conexão, se necessário.

  2. Faça alterações relevantes em seus arquivos de código, incluindo snowflake.yml, manifest.yml, quaisquer scripts de configuração e arquivos de código de extensão.

  3. Execute o comando snow app deploy de dentro do seu projeto, semelhante ao seguinte:

    snow app deploy --connection="dev"
    
    Copy

Quando bem-sucedido, o comando exibe uma mensagem semelhante à seguinte:

Checking if stage exists, or creating a new one if none exists.
Performing a diff between the Snowflake stage and your local deploy_root
...
Deployed successfully. Application package and stage are up-to-date.

Você também pode usar o comando snow app deploy para restringir quais arquivos ele sincroniza com um estágio listando caminhos como argumentos posicionais após o comando snow app deploy. Para obter mais informações sobre esta e outras funcionalidades avançadas, consulte o comando snow app deploy.