Gerenciando projetos DCM usando o Snowflake CLI

Você pode gerenciar um DCM project usando o Snowflake CLI. Para obter mais informações sobre projetos DCM, consulte Snowflake DCM Projects.

Instalar Snowflake CLI com recursos DCM project

Para usar os comandos snow dcm, você deve instalar a versão 3.16.0 ou posterior do Snowflake CLI. Para obter mais informações, consulte Instalação do Snowflake CLI.

Verificar se você tem uma conexão válida com o Snowflake

A CLI do Snowflake requer uma conexão funcional para interagir com o Snowflake. Para obter informações sobre como gerenciar conexões, consulte Configuração do Snowflake CLI.

Habilitar comandos DCM no Snowflake CLI

Para usar os comandos DCM, você deve habilitar o sinalizador de recurso SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS usando um dos seguintes métodos:

  • Defina a variável de ambiente SNOWFLAKE_CLI_FEATURES_ENABLE_SNOWFLAKE_PROJECTS como true antes de executar o comando.

  • Defina a opção de configuração enable_snowflake_projects como true no arquivo config.toml, conforme mostrado no exemplo a seguir:

    [cli.features]
    enable_snowflake_projects = true
    

Inicializar um DCM project a partir de um modelo

  • Para inicializar um DCM project a partir de um modelo, use o comando snow init:

    snow init <project_dir_name> --template dcm_project
    

    em que <project_dir_name> é o diretório com os arquivos de DCM project. Esse diretório é criado pelo comando snow init e é preenchido com os arquivos de projeto gerados a partir do modelo especificado.

    Por exemplo, o comando a seguir cria os arquivos de projeto no diretório MY_PROJECT:

    snow init MY_PROJECT --template dcm_project
    

Comandos Snowflake CLI

Para oferecer suporte a DCM Projects, o Snowflake CLI adicionou os seguintes comandos:

Criar e implantar DCM projects

Esta seção descreve como criar, validar e implantar DCM projects usando o Snowflake CLI.

Criar uma DCM project

Use o comando snow dcm create para criar um novo DCM project no Snowflake. O identificador do projeto pode ser especificado diretamente como um argumento ou resolvido a partir do arquivo manifest.yml.

  • Crie um projeto usando o identificador do destino padrão especificado no manifesto:

    snow dcm create
    
  • Crie um projeto usando o identificador do destino dev especificado no manifesto:

    snow dcm create --target dev
    
  • Crie um projeto somente se ele ainda não existir:

    snow dcm create --if-not-exists
    

Para obter mais informações, consulte snow dcm create.

Planejar um DCM project

Use o comando snow dcm plan para validar seu projeto antes da implantação. Este comando mostra quais alterações seriam aplicadas sem realmente fazer nenhuma modificação.

  • Valide um projeto:

    snow dcm plan
    
  • Valide com substituição de variáveis:

    snow dcm plan -D "db_name=my_database" -D "schema_name=my_schema"
    
  • Valide usando um perfil de destino específico e salve a saída:

    snow dcm plan --target dev --save-output
    

    Ao usar --save-output, o comando salva a resposta e os artefatos em um diretório local out/.

Para obter mais informações, consulte snow dcm plan.

Implantar um DCM project

Use o comando snow dcm deploy para aplicar as alterações definidas em seu DCM project ao Snowflake.

  • Implante um projeto:

    snow dcm deploy
    
  • Implante com substituição de variáveis:

    snow dcm deploy -D "table_name='MY_DB.PUBLIC.MY_TABLE'"
    
  • Implante com um alias para a implantação:

    snow dcm deploy --alias v1.0
    
  • Implante a partir de um diretório específico usando um perfil de destino:

    snow dcm deploy --from /path/to/project --target prod
    

Para obter mais informações, consulte snow dcm deploy.

Visualizar um DCM project

Use o comando snow dcm preview para retornar linhas de qualquer tabela, exibição ou tabela dinâmica definida em seu projeto. Este comando é útil para testar suas definições antes ou depois da implantação.

  • Visualize dados de uma tabela:

    snow dcm preview --object MY_DB.PUBLIC.MY_TABLE
    
  • Visualize com um limite de linhas:

    snow dcm preview --object MY_DB.PUBLIC.MY_VIEW --limit 10
    
  • Visualize com substituição de variáveis:

    snow dcm preview --object MY_DB.PUBLIC.MY_VIEW -D "filter_date='2024-01-01'"
    

Para obter mais informações, consulte Versão preliminar de snow dcm.

Testar um DCM project

Use o comando snow dcm test para executar todas as expectativas (funções de métricas de dados) definidas em seu projeto. Esse comando valida as regras de qualidade de dados e retorna resultados de aprovação/falha.

  • Teste um projeto:

    snow dcm test
    
  • Teste usando um perfil de destino:

    snow dcm test --target dev
    
  • Teste e salve os resultados:

    snow dcm test --save-output
    

O comando retornará o código de saída 0 se todos os testes forem aprovados ou o código de saída 1 se algum teste falhar.

Para obter mais informações, consulte snow dcm test.

Atualizar um DCM project

Use o comando snow dcm refresh para atualizar todas as tabelas dinâmicas definidas em seu DCM project. Isso aciona uma atualização imediata dos dados.

  • Atualize tabelas dinâmicas em um projeto:

    snow dcm refresh
    
  • Atualizar usando um perfil de destino:

    snow dcm refresh --target prod
    
  • Atualize e salve a saída:

    snow dcm refresh --save-output
    

O comando relata o status de cada tabela dinâmica, incluindo o número de linhas inseridas e excluídas.

Para obter mais informações, consulte snow dcm refresh.

Descartar um DCM project

Use o comando snow dcm drop para descartar um DCM project. Esse comando exclui o projeto e todas as versões dele. A área de preparação associada ao projeto não é excluída.

  • Descarte um projeto:

    snow dcm drop
    
  • Descarte um projeto somente se ele existir:

    snow dcm drop --if-exists
    

Para obter mais informações, consulte snow dcm drop.

Gerenciar implantações de DCM projects

Após implantar um DCM project, você pode listar e gerenciar implantações individuais.

Listar implantações de DCM projects

Use o comando snow dcm list-deployments para listar todas as implantações de um determinado DCM project.

  • Liste implantações de um projeto:

    snow dcm list-deployments
    
  • Liste implementações usando um perfil de destino:

    snow dcm list-deployments --target dev
    

A saída mostra o nome da implantação e o alias (se definido) para cada implantação.

Para obter mais informações, consulte snow dcm list-deployments.

Descartar DCM projects implantados

Use o comando snow dcm drop-deployment para descartar uma implantação específica de um DCM project.

  • Descarte uma implantação por nome:

    snow dcm drop-deployment --deployment 'DEPLOYMENT$1'
    

    Nota

    Para nomes de implantação que contenham $, use aspas simples para evitar a expansão do shell.

  • Descarte uma implantação por alias:

    snow dcm drop-deployment --deployment v1.0
    
  • Descarte uma implantação somente se ela existir:

    snow dcm drop-deployment --deployment v1.0 --if-exists
    

Para obter mais informações, consulte snow dcm drop-deployment.