Configurar o Snowflake CLI para desenvolver um app

Este tópico descreve como os provedores instalam e usam o Snowflake CLI para desenvolver e gerenciar o Snowflake Native Apps. O Snowflake CLI é uma ferramenta de linha de comando de código aberto projetada explicitamente para cargas de trabalho centradas no desenvolvedor, além das operações do SQL.

Instalação e configuração do Snowflake CLI

Para instalar e configurar o Snowflake CLI, siga estes passos:

  1. Instale o Snowflake CLI para o seu sistema operacional.

    Para obter mais informações, consulte Instalação do Snowflake CLI.

  2. Configure uma conexão à sua conta Snowflake.

    Para obter mais informações, consulte Configuração do Snowflake CLI.

Sobre modelos de apps e projetos do Snowflake CLI

Ao utilizar o Snowflake CLI para desenvolver o seu Snowflake Native App, você trabalha dentro de um projeto. Um projeto é um diretório que contém todos os arquivos e diretórios necessários para o seu Snowflake Native App. Assim como outros repositórios de código, esses arquivos podem ter controle de versão usando tecnologias como o Git e podem ser compartilhados em plataformas como o Github.

O Snowflake fornece modelos de apps que você pode usar para configurar seu projeto. Esses modelos estão disponíveis no repositório snowflake-cli-templates do GitHub.

Os modelos disponíveis são:

Modelo

Descrição

app_basic

Um modelo básico que inclui os arquivos e diretórios essenciais necessários para o seu app.

app_streamlit_java

Um modelo que inclui os arquivos e diretórios essenciais necessários para o seu app, código de extensão Java e um app Streamlit de amostra.

app_streamlit_js

Um modelo que inclui os arquivos e diretórios essenciais necessários para o seu app, código de extensão JavaScript e um app Streamlit de amostra.

app_streamlit_python

Um modelo que inclui os arquivos e diretórios essenciais necessários para o seu app, código de extensão Python e um app Streamlit de amostra.

Configurar um novo projeto para o seu Snowflake Native App

Para configurar um novo projeto para o seu Snowflake Native App, siga estas etapas:

  1. Execute o comando init para criar um novo projeto:

    snow init --template <template_name> <project_name>
    
    Copy
  2. Digite um valor para o identificador do projeto.

    Este valor é utilizado como nome base para os componentes do app que o Snowflake CLI cria, incluindo o pacote do aplicativo. Você pode modificar ou substituir esse valor posteriormente no arquivo de definição do projeto.

Após executar este comando, um novo diretório chamado <project_name> é criado no diretório em que você executou o comando. Esse diretório contém os arquivos e diretórios necessários para o seu Snowflake Native App com a seguinte estrutura de diretórios:

<project_name>/
├── app/
 ├── manifest.yml
 ├── README.md
 ├── setup_script.sql
├── README.md
├── snowflake.yml
Copy

As pastas e arquivos neste diretório são descritos na tabela a seguir:

Arquivo/diretório

Descrição

app/

Este diretório contém o código do aplicativo e os recursos do seu app. Você pode modificar ou adicionar arquivos nesse diretório conforme necessário.

app/manifest.yml

Este arquivo define os metadados e a configuração do seu app, incluindo o nome, a versão, a descrição e os recursos do app. Consulte Criação do arquivo de manifesto para um aplicativo para obter mais informações.

app/README.md

Este arquivo fornece uma visão geral do seu app e instruções para usá-lo. Este é o arquivo README que é exibido no Snowflake Marketplace.

app/setup_script.sql

Este script SQL é executado quando o app é instalado. Você pode modificar esse script para incluir quaisquer etapas de configuração necessárias para o seu app. Para obter mais informações, consulte Create the setup script

README.md

Este arquivo fornece uma visão geral do projeto e instruções para usar o Snowflake CLI com o seu app.

snowflake.yml

Este é o arquivo de definição do projeto que descreve os objetos que podem ser implantados no Snowflake. Você deve modificar este arquivo para definir os recursos que fazem parte do seu app.

Criação do arquivo de definição do projeto

O Snowflake CLI usa um arquivo de definição de projeto para descrever objetos que podem ser implantados no Snowflake. Este arquivo deve ser nomeado snowflake.yml. Este arquivo determina o nome do pacote de aplicativo e especifica os recursos que fazem parte do seu Snowflake Native App.

Para obter mais informações sobre o arquivo de definição de projeto, consulte Arquivos de definição de projeto.

A seguir, veja um exemplo de um arquivo snowflake.yml simples utilizado para um Snowflake Native App:

definition_version: 2
entities:
  hello_snowflake_package:
    type: application package
    stage: stage_content.hello_snowflake_stage
    manifest: app/manifest.yml
    identifier: hello_snowflake_package
    artifacts:
       - src: app/*
         dest: ./
  hello_snowflake_app:
    type: application
    from:
       target: hello_snowflake_package
    debug: false
Copy

A tabela a seguir descreve os campos neste exemplo:

Campo

Descrição

definition_version

A versão do formato do arquivo de definição de projeto. A versão atual é 2.

entities

Uma lista de entidades que fazem parte do projeto. Cada entidade tem um identificador exclusivo e um tipo.

hello_snowflake_package

O identificador da entidade do pacote de aplicativo. Esse nome é utilizado como nome base para os componentes do app que o Snowflake CLI cria, incluindo o pacote de aplicativo.

type

O tipo de entidade. Neste caso, é um application package.

stage

A área de preparação em que o pacote de aplicativo é armazenado.

manifest

O caminho para o arquivo de manifesto que define os metadados e a configuração do seu app.

identifier

O identificador da entidade do pacote de aplicativo. Esse nome é utilizado como nome base para os componentes do app que o Snowflake CLI cria, incluindo o pacote de aplicativo.

artifacts

Uma lista de arquivos e diretórios incluídos no pacote de aplicativo. Cada artefato tem uma origem (src) e um destino (dest).

hello_snowflake_app

O identificador da entidade do aplicativo.

from

Especifica a origem do aplicativo. Neste caso, ele é criado a partir do pacote de aplicativo hello_snowflake_package.

debug

Um valor booleano que indica se o modo de depuração está ativado para o app.

Desenvolvimento de seu Snowflake Native App

Após configurar seu projeto e criar o arquivo de definição do projeto, você pode começar a desenvolver seu Snowflake Native App criando o pacote de aplicativo e modificando o arquivo de manifesto e o script de configuração.

Para obter mais informações, consulte os seguintes tópicos: