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
Propriedades de definição do projeto¶
A tabela a seguir descreve as propriedades de definição de projeto usadas por todos os projetos.
Propriedade  | 
Definição  | 
|---|---|
definition_version obrigatório, int  | 
Versão do esquema de definição do projeto, que atualmente é 2.  | 
entities optional, string  | 
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:
Snowpark Container Services (SPCS)
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.