Sobre arquivos de definição de projeto

Ao desenvolver aplicativos Streamlit ou Snowpark, você geralmente trabalha com vários arquivos e objetos, sejam eles arquivos Python ou procedimentos armazenados. Organizar isso de forma clara e concisa é muito importante para uma experiência de desenvolvimento tranquila. É por isso que Snowflake CLI está usando o conceito de arquivos de definição de projeto.

Um arquivo de definição de projeto (geralmente nomeado snowflake.yml) é um arquivo com informações sobre os objetos Snowflake que você está desenvolvendo. O exemplo snowflake.yml a seguir mostra um projeto com uma UDF Snowpark e um procedimento armazenado.

definition_version: 2
entities:
  test_function:
    type: "function"
    stage: "dev_deployment"
    artifacts: ["app/"]
    handler: "functions.hello_function"
    signature: ""
    returns: string

  hello_procedure:
    type: "procedure"
    stage: "dev_deployment"
    artifacts: ["app/"]
    handler: "procedures.hello_procedure"
    signature:
      - name: "name"
        type: "string"
    returns: string
Copy

Propriedades de definição do projeto

A tabela a seguir descreve as propriedades de definição de projeto usadas por todos os projetos.

Propriedades comuns de definição de projeto

Propriedade

Definição

definition_version

obrigatório, int

Versão do esquema de definição do projeto, que atualmente é 2.

entities

opcional, cadeia de caracteres

Lista de definições de entidade, como procedimentos, funções e assim por diante. Para obter mais informações, consulte Especificação de entidades.

env

opcional, sequência de cadeias de caracteres

Lista de especificações de ambiente padrão a serem usadas em modelos de projeto. Para obter mais informações, consulte Criação de modelos de arquivo de definição de projeto.

mixins

opcional, sequência de cadeias de caracteres

Lista de valores comuns para propriedades de entidade. Para obter mais informações, consulte Mixins de projeto.

Cada projeto requer informações específicas sobre o que você está construindo. Atualmente, Snowflake CLI oferece suporte às seguintes definições de entidade dos seguintes domínios Snowflake:

Cuidado

Os arquivos dentro de um diretório de projeto são processados por Snowflake CLI e podem ser enviados para o Snowflake ao executar outros comandos snow. Você deve ter cuidado ao colocar qualquer informação confidencial dentro de arquivos em um diretório de projeto.