Notas de lançamento de Snowflake CLI para 2024¶
Este artigo contém as notas de versão do Snowflake CLI, incluindo o seguinte, quando aplicável:
Mudanças de comportamento
Novos recursos
Correções de bugs voltados para o cliente
Consulte Snowflake CLI para ver a documentação.
Versão 3.1.0 (25 de outubro de 2024)¶
Preterições¶
Adição de um aviso de descontinuação aos comandos
snow spcs service status
esnow spcs image-repository list-tags
. Esses comandos serão removidos em um lançamento futuro.
Novos recursos e atualizações¶
Adição dos seguintes comandos:
O comando
snow connection generate-jwt
para gerar token JWT para conexões Snowflake.snow spcs service list-containers
para buscar informações sobre contêineres em um serviço.snow spcs service list-instances
para buscar informações sobre instâncias em um serviço.snow spcs service list-roles
para buscar informações sobre funções em um serviço.
Adição da opção
--eai-name
ao comandosnow spcs set
para oferecer suporte à atualização de integrações de acesso externo para um serviço.O comando
snow spcs image-repository list-images
foi atualizado para exibir tags e resumos de imagens.
Correções de bugs¶
Correção de um bug que fazia com que os diretórios
deploy_root
,bundle_root
egenerated_root
fossem criados no diretório de trabalho atual em vez da raiz do projeto ao invocar comandos com o sinalizador--project
de um diretório diferente.Variáveis alinhadas para os comandos
snow stage
esnow git execute
. Para arquivos Python, as variáveis não têm aspas iniciais nem finais.Correção de um problema com
snow stage list-files
para caminhos com diretórios.
Versão 3.0.2 (15 de outubro de 2024)¶
Novos recursos e atualizações¶
Correções de bugs¶
Correção do tratamento de valores padrão vazios para cadeias de caracteres por
snow snowpark deploy
.Adição de detalhes de erro de log se o comando
pip
falhar.
Versão 3.0.1 (8 de outubro de 2024)¶
Novos recursos e atualizações¶
Migração do repositório PyPi
snowflake-cli-labs
parasnowflake-cli
.Para instalar ou atualizar a Snowflake CLI, você pode executar um comando semelhante ao seguinte:
pip install --upgrade snowflake-cli
Nota
Snowflake CLI continuará oferecendo suporte ao uso do nome do repositório
snowflake-cli-labs
para lhe dar tempo de fazer a transição de scripts e aplicativos existentes que você possa usar.
Correções de bugs¶
Nenhum.
Versão 2.8.2 (8 de outubro de 2024)¶
Novos recursos e atualizações¶
Migração do repositório PyPi
snowflake-cli-labs
parasnowflake-cli
.Para instalar ou atualizar a Snowflake CLI, você pode executar um comando semelhante ao seguinte:
pip install --upgrade snowflake-cli
Nota
Snowflake CLI continuará oferecendo suporte ao uso do nome do repositório
snowflake-cli-labs
para lhe dar tempo de fazer a transição de scripts e aplicativos existentes que você possa usar.
Correções de bugs¶
Nenhum.
Versão 3.0.0 (1º de outubro de 2024)¶
Mudanças de BCR (versão da mudança de comportamento)¶
A partir da versão 3.0.0, Snowflake CLI introduziu as seguintes alterações significativas:
Implementação das seguintes alterações no Python:
Remoção do suporte para versões do Python anteriores à 3.10.
Definição da versão padrão do Python para funções e procedimentos do Snowpark como a 3.10.
Substituição dos comandos
snow object stage
pelos comandossnow stage
.Substituição dos comandos
snow snowpark init
esnow streamlit init
pelo comandosnow init
command.Remoção das opções anteriormente obsoletas dos comandos
snow snowpark
.Modificação do comportamento dos seguintes comandos Snowpark:
snow snowpark build
cria um arquivo.zip
para cada artefato especificado que seja um diretório. Dependências não Anaconda são empacotadas uma vez comodependencies.zip
.snow snowpark deploy
carrega todos os artefatos criados durante a etapa de construção. O arquivodependencies.zip
é carregado uma vez para cada estágio Snowpark especificado na definição do projeto.Os comandos
snow snowpark package
não recorrem mais aos metadados do canal Anaconda quando a busca de informações de pacotes disponíveis falha.Nota
Essas alterações são compatíveis com os arquivos de definição de projeto V1, embora o layout do arquivo resultante seja diferente.
Novos recursos e atualizações¶
Adição dos seguintes comandos:
snow spcs service execute-job
para oferecer suporte à criação e execução de um serviço de trabalho no esquema atual.snow app events
para buscar logs e rastreamentos de instalações do Snowflake Native App locais e de cliente.snow helpers v1-to-v2
para migrar arquivos snowflake.yml da versão 1.x para a versão 2.
Adição de suporte para o seguinte:
Acesso externo (integrações de API e segredos) no Streamlit
Sintaxe <% … %> em modelos SQL
Vários aplicativos Streamlit em um único arquivo de definição de projeto
snowflake.yml
Atualização do arquivo de definição do projeto para a versão 2.
Correções de bugs¶
Correção de um problema com espaços em branco no comando
snow connection add
.Correção de um erro SQL que ocorria ao executar os comandos
snow app version create
ousnow app version drop
com um nome de versão que não é um identificador válido do Snowflake sem aspas.Adição de uma verificação da exatidão de um arquivo de token e caminhos de chave privada ao adicionar uma conexão.
Correção de um erro de digitação na descrição do argumento de
spcs service name
. É o identificador doservice
em vez doservice pool
.Correção de um problema com o tratamento de erro e melhoria das mensagens quando nenhum artefato é fornecido.
Mensagens de erro aprimoradas para parâmetros incompatíveis.
Versão 2.8.1 (10 de setembro de 2024)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Correção de um problema em que o comando :codenowrap:` git execute` não manipulava corretamente letras maiúsculas em nomes de diretório.
Correção de um problema em que
snow git setup
não manipulava corretamente nomes de repositório totalmente qualificados.Correção do comportamento do comando
snow git setup
em casos em que a integração de API ou um segredo com um nome padrão já existia.Correção de um problema em que o comando
snow snowpark package create
criava arquivos zip vazios quando o nome do pacote continha letras maiúsculas.
Versão 2.8.0 (28 de agosto de 2024)¶
Preterições¶
Adição de um aviso de descontinuação para a propriedade
native_app.package.scripts
nos arquivos de definição do projeto.
Novos recursos e atualizações¶
Adição de suporte para padrões de arquivo de definição de projeto em modelos.
Adição de suporte a scripts
native_app.package.post_deploy
em arquivos de definição de projeto.Esses scripts são executados quando um pacote Snowflake Native App é criado ou atualizado.
Atualmente, Snowflake REST APIs oferece suporte apenas a scripts SQL:
post_deploy: [{sql_script: script.sql}]
.
Correções de bugs¶
Correção de um problema com valores de retorno inválidos para os comandos
snow snowpark list
,snow snowpark describe
esnow snowpark drop
.O comando
snow app run
agora mostra o aviso retornado por Snowflake.
Versão 2.7.0 (2 de agosto de 2024)¶
Preterições¶
Os comandos
snow snowpark init
esnow streamlit init
estão marcados como obsoletos. Os comandos ainda funcionam, mas você deve usar o novo comandosnow init
no lugar.
Novos recursos e atualizações¶
Adição da opção
--token-file-path
ao comandosnow connection add
para oferecer suporte à passagem de um token OAuth usando um arquivo. A função também é compatível com a configuração do parâmetrotoken_file_path
para definições de conexão no arquivoconfig.toml
.Adição de suporte para execução remoto do Python com
snow stage execute
esnow git execute
semelhante ao suporte a EXECUTE IMMEDIATE existente.Adição de suporte para funcionalidade de preenchimento automático na opção
snow connection add --connection
.Adição do comando
snow init
para oferecer suporte à inicialização de projetos com modelos externos.Adição de suporte a estágios de usuário nos comandos
stage execute
estage execute copy
.Suporte aprimorado para identificadores entre aspas em comandos do Snowpark.
O comando
snow app run
agora permite a atualização para um modo não versionado a partir de uma instalação de aplicativo em modo versionado ou de lançamento.O comando
snow app teardown
agora permite remover um pacote com versões quando o sinalizador--force
é fornecido.O comando
snow app version create
agora permite operar em pacotes de aplicativo criados fora da Snowflake CLI.Atualização do script
application.post_deploy
para usar o banco de dados do aplicativo como padrão.Snowflake CLI agora oferece suporte a hosts sem região ao gerar URLs do Snowsight.
Os comandos
snow app run
esnow app deploy
agora determinam corretamente o status modificado para arquivos grandes enviados ao S3.
Correções de bugs¶
Trate os valores md5 NULL corretamente quando retornados por backends de armazenamento de estágio.
Versão 2.6.1 (15 de julho de 2024)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Foi esclarecida a mensagem de erro retornada ao executar
snow object create
se um banco de dados não estiver definido para conexão.Correção de um problema que fazia Snowflake CLI travar quando
save_logs
éfalse
e o diretório de log não existia.
Versão 2.6.0 (11 de julho de 2024)¶
Novos recursos e atualizações¶
Adição do comando
snow object create
.Adição de suporte para um campo
title
na definição do Streamlit no arquivo de projetosnowflake.yml
.Adição do sinalizador
--auto-compress
ao comandosnow stage copy
para habilitar arquivos de compressão gzip durante o upload.Adição de uma nova seção
native_app.application.post_deploy
ao esquemasnowflake.yml
para executar ações após o aplicativo ter sido implementado viasnow app run
.Adição do tipo de gancho
sql_script
para executar scripts SQL com suporte a modelos.
Adição de suporte para argumentos de linha de comando
--env
para modelagem.Disponível para comandos que usam o arquivo de definição de projeto.
Formato do argumento:
--env key1=value1 --env key2=value2
.Substitui os valores de variáveis de ambiente quando usados na modelagem.
Pode ser referenciado em modelos por meio de
ctx.env.<key_name>
.O modelo lê as variáveis de ambiente na seguinte ordem de prioridade (da maior para a menor prioridade):
Variáveis do argumento da linha de comando
--env
.Variáveis de variáveis de ambiente do shell.
Variáveis da seção
env
do arquivo de definição do projeto.
O comando
snow sql
agora mostra o texto da consulta antes de executá-la.
Correções de bugs¶
Passar um diretório para
snow app deploy
agora implementa qualquer arquivo ou subpasta contido especificado nas regras de artefato do aplicativo.Erros de escape de marcação corrigidos em
snow sql
que podiam ocorrer quando os usuários usavam involuntariamente tags de escape semelhantes a marcação.Correção de casos em que
snow app teardown
não conseguia derrubar aplicativos órfãos (aqueles cujos pacotes foram descartados).Correção de casos em que
snow app teardown
poderia deixar aplicativos órfãos se eles não fossem criados por Snowflake CLI.Correção de casos em que
snow app run
poderia falhar ao executar um aplicativo existente cujo pacote tenha sido removido, solicitando o descarte e a recriação do aplicativo.Melhoria na higienização da saída do terminal para evitar códigos de escape ASCII.
Melhoria na saída de diferença de estágio em
snow app
Ocultação das diferenças redundantes da saída de
snow app validate
.Adição de informações de log ao arquivo com plugins externos carregados.
Avisos adicionados caso os usuários tentem usar modelos com a versão 1 da definição de projeto.
Melhoria da saída e do formato dos erros de validação do Pydantic.
Suporte aprimorado para identificadores entre aspas em comandos do Streamlit.
O comando
snow app run
não substitui mais o modo de depuração durante uma atualização de aplicativo, a menos que seja explicitamente definido emsnowflake.yml
.
Versão 2.5.0 (20 de junho de 2024)¶
Novos recursos e atualizações¶
Adição dos seguintes recursos Snowflake Native App:
Adição do comando
snow app bundle
que prepara uma pasta local no diretório do projeto com artefatos para carregar em um estágio como parte da criação de um Snowflake Native App.Os projetos Snowflake Native App podem, opcionalmente, gerar declarações CREATE FUNCTION e CREATE PROCEDURE em scripts de configuração do código Snowpark Python que inclui decoradores (como
@sproc
e@udf
).Adição do comando
snow app validate
que valida o SQL no script de configuração de um Snowflake Native App para sintaxe válida, referências de objeto inválidas e práticas recomendadas.Adição do novo campo
native_app.scratch_stage
ao esquemasnowflake.yml
para permitir a personalização do estágio que Snowflake CLI usa para executar a validação.
Alteração dos comandos
snow app deploy
esnow app run
para acionar a validação automática do script de configuração SQL e interromper os uploads se a validação falhar. Os usuários podem substituir essa verificação habilitando o parâmetro--no-validate
para os respectivos comandos.O comando
snow app version create --patch
foi alterado para exigir um número de patch inteiro, alinhando-se com o que o Snowflake espera.
Adição dos seguintes comandos para oferecer suporte a notebooks:
snow notebook execute
permite a execução headless de um notebook Snowflake.snow notebook create
cria um notebook Snowflake a partir de um arquivo em um estágio.
Adição de suporte de modelagem para arquivos de definição de projeto. Variáveis de modelo agora podem ser usadas em qualquer lugar em um arquivo de definição de projeto.
Adição do parâmetro
--default
ao comandosnow connection add
para permitir que os usuários especifiquem uma conexão como padrão.
Correções de bugs¶
Correção do tratamento de erro para arquivos
config.toml
formatados incorretamente.Correção do empacotamento ZIP de dependências de projeto Snowpark com pacotes de namespace implícitos como
snowflake
.A implementação de funções ou procedimentos com o parâmetro
--replace
agora copia todas as concessões.Correção do cache de MFA
Correção dos problemas com
DeprerationWarning
eSyntaxWarning
causados por sequências de escape inválidas.Mensagens de erro aprimoradas no
snow spcs image-registry login
quando o Docker não está instalado.Detecção aprimorada de conflitos entre regras de artefatos para projetos Snowflake Native App
Geração de URL fixa para aplicativos, streamlits e notebooks que usam um identificador entre aspas com espaços.
Versão 2.4.1 (12 de junho de 2024)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Correção de problemas relacionados ao cache de MFA e implementações de GCP.
Versão 2.4.0 (31 de maio de 2024)¶
Novos recursos e atualizações¶
Adicionada a opção
--cascade
para o comandosnow app teardown
que remove automaticamente todos os objetos de aplicativo pertencentes a um aplicativo.Adicionada integração de acesso externo para comandos
snow object
.Adicionados aliases para comandos
snow object
list
,describe
edrop
para o seguinte:snow stage
para estágiossnow git
para estágios do repositório gitsnow streamlit
para aplicativos Streamlitsnow snowpark
para procedimentos e funções do Snowpark Pythonsnow spcs compute-pool
para pools de computaçãosnow spcs image-repository
para repositórios de imagenssnow spcs service
para serviços
Adicionou o seguinte suporte ao comando
snow sql
:Funciona com o arquivo
snowflake.yml
. As variáveis definidas na nova seçãoenv
dosnowflake.yml
podem ser usadas para expandir modelos.Permite executar consultas de vários arquivos especificando várias opções
-f/--file
.
Adicionado suporte para passagem de variáveis de entrada para os comandos
snow git execute
esnow stage execute
.Adicionados os seguintes comandos
snow cortex
para oferecer suporte a AI e ML Snowflake:complete
: gera uma resposta a uma pergunta usando o modelo de linguagem de sua escolha.extract-answer
: extrai uma resposta a uma determinada pergunta de um documento de texto.sentiment
: retorna uma pontuação de sentimento para o texto de entrada em inglês fornecido.summarize
: resume o texto de entrada fornecido no idioma inglês.translate
: traduz texto do idioma de origem indicado ou detectado para um idioma de destino.
Adicionada a função de conclusão de tabulação para comandos
snow
.Adicionadas as seguintes melhorias:
Executando o comando
snow
sem argumentos ou opções agora exibe automaticamente a ajuda da linha de comando (como emsnow --help
).Suporte aprimorado para identificadores entre aspas.
Correções de bugs¶
Corrigido um problema com a criação de patches com
snow app version create
quando uma versão tinha duas ou mais existentes.Adicionada uma nova linha final ao usar
--format=json
para evitar que%
seja adicionado por alguns terminais para sinalizar nenhuma quebra de linha no final da saída.Habilitou a opção
--interactive
por padrão em ambientes interativos e adicionou a opção--no-interactive
para desabilitar o prompt.
Versão 2.3.1 (20 de maio de 2024)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Corrigidos bugs na lógica de mapeamento de artefatos de origem para Snowflake Native Apps.
Versão 2.3.0 (15 de maio de 2024)¶
Novos recursos e atualizações¶
Adicionada a opção
--info
para osnow command
para exibir os sinalizadores de recursos configurados.Adicionada a opção
-D/--variable
para o comandosnow sql
para oferecer suporte a substituições de variáveis na entrada de SQL (modelagem de consulta do lado do cliente).Adicionado suporte para nomes de estágio totalmente qualificados nos comandos
snow stage
esnow git execute
.Adicionada a capacidade de especificar arquivos e diretórios como argumentos para o comando
snow app deploy <some-file> <some-dir>
.Adicionadas novas opções ao comando
snow app deploy
:--recursive
para sincronizar todos os arquivos e subdiretórios recursivamente.--prune
para excluir arquivos especificados do estágio se eles não existirem localmente.
Otimizada a pesquisa de dependência do Snowpark para reduzir o tamanho de artefatos
.zip
e o número de dependências do Anaconda para projetos do Snowpark.Mensagens de erro melhoradas para um arquivo corrompido
config.toml
.
Correções de bugs¶
Corrigiu um problema com os comandos
snow app
que fazem com que os arquivos sejam reenviados desnecessariamente.Corrigido um problema em que o comando
snow app run
não atualiza um aplicativo quando o estado local e o estágio remoto são idênticos.Corrigido um problema com o manuseio dos separadores de padrões de estágio no Windows.
Versão 2.2.0 (25 de abril de 2024)¶
Recursos obsoletos¶
Nota
Os seguintes recursos estão obsoletos nesta versão e serão removidos quando o Snowflake lançar o Snowflake CLI 3.0.0. Considere atualizar quaisquer scripts existentes que usem esses recursos obsoletos.
O comando
snow snowpark package lookup
não realiza mais uma verificação em relação a PyPi. O uso de--pypi-download
ou--yes
não tem efeito e causa um aviso. O comando agora verifica apenas se um pacote está disponível no canal Snowflake Anaconda.snow snowpark package create
changes:As opções
--pypi-download
ou--yes
estão obsoletas, não têm efeito e geram um aviso. O comando agora sempre verifica PyPi.A opção
--allow-native-libraries
está obsoleta em favor da opção de booleano--allow-shared-libraries
. Usar a opção obsoleta gera um aviso.
snow snowpark build
changes:A opção
--pypi-download
está obsoleta, não tem efeito e gera um aviso. O comando agora sempre verifica PyPi.A opção
--check-anaconda-for-pypi-depts
está obsoleta e gera um aviso. Use a opção--ignore-anaconda
em vez disso.A opção
--package-native-libraries
está obsoleta e gera um aviso. Use a opção--allow-shared-libraries
em vez disso.
Os comandos
snow object stage
estão obsoletos e causam um aviso. Esses comandos serão substituídos pelos comandosnow stage
. Considere migrar quaisquer scripts existentes que usem os comandossnow object stage
.
Novos recursos e atualizações¶
Adicionado suporte para nomes totalmente qualificados (
database.schema.name
) no parâmetroname
da definição do projeto Streamlit.Adicionado suporte para nomes de repositórios de imagens totalmente qualificados nos comandos
spcs image-repository
.Adicionada a opção
--if-not-exists option
para os comandossnow spcs service create
esnow spcs compute-pool create
.Adicionadas as opções
--replace
e--if-not-exists
para o comandosnow spcs image-repository create
.Adicionado suporte para o Snowflake Connector para relatórios de diagnóstico do Python.
Adicionado o comando
snow app deploy
que cria um pacote de aplicativo e sincroniza as alterações locais no estágio sem criar ou atualizar o aplicativo.Adicionada a coluna
is_default
para a saídasnow connection list
para destacar a conexão padrão.Atualizado o comando
snow snowpark package create
:Adicionada a opção
--ignore-anaconda
para desabilitar a pesquisa de pacotes no canal Snowflake Anaconda, para que as dependências sejam baixadas de PyPi.Adicionada a opção
--skip-version-check
para pular a comparação de versões de dependências entre requisitos e Anaconda.Adicionada a opção
--index-url
para configurar o URL básico do Python Package Index a ser usado para pesquisa de pacotes.
Atualizado o comando
snow snowpark build
:Adicionada a opção
--skip-version-check
para pular a comparação de versões de dependências entre requisitos e Anaconda.Adicionada a opção
--index-url
configurada como URL básico do Python Package Index a ser usado para pesquisa de pacotes.
Adicionada a opção
--recursive
para o comandosnow stage copy
para reproduzir a estrutura de diretório localmente ao copiar de um estágio.Adicionados os seguintes comandos
snow git
para oferecer suporte aos repositórios Git no Snowflake:snow git setup
: configura um estágio de repositório Git e cria todos os objetos necessários.snow git fetch
: obtém as alterações mais recentes do repositório de origem em um repositório Snowflake.snow git list-branches
: lista todas as ramificações em um repositório.snow git list-tags
: lista todas as tags em um repositório.snow git list-files
: lista todos os arquivos em uma ramificação, tag ou commit especificado.snow git copy
: copia arquivos de uma ramificação, tag ou confirmação especificada para um estágio ou diretório local.snow git execute
: executa o comando SQL EXECUTE IMMEDIATE para arquivos em um repositório.
Adicionado o comando
snow stage execute
para executar o comando SQL EXECUTE IMMEDIATE de um caminho do estágio.Adicionada a opção
--pattern
para o comandosnow stage list-files
para dar suporte à filtragem de resultados com regex.Adicionado suporte para qualquer fonte suportada por
pip
no comandosnow snowpark
.Adicionada a capacidade de buscar a lista de pacotes disponíveis do Snowflake em vez de diretamente do Anaconda com fallback para o método antigo (para compatibilidade com versões anteriores). Como a nova abordagem requer uma conexão com o Snowflake, ela adiciona opções de conexão aos seguintes comandos:
snow snowpark build
snow snowpark package lookup
snow snowpark package create
Correções de bugs¶
Adicionada a opção
--image-name
para o argumento do nome da imagem no comandospcs image-repository list-tags
para consistência com outros comandos.Corrigido um problema em que os erros de
spcs image-registry login
não eram formatados corretamente.As definições de projeto não aceitam mais campos extras. Quaisquer campos extras causam um erro.
Corrigido um problema com arquivos zip vazios para caminhos de construção do Snowpark para compilações que usavam a opção
--project
.Mensagens de erro melhoradas para o comando
snow snowpark build
.Análise de versão corrigida para pesquisa de pacotes no canal Snowflake Anaconda.
Corrigido um problema com o tratamento de identificadores de banco de dados, esquema e função contendo traços.
Corrigiu um bug de substituição de esquema no comando th
snow connection test
.Devido a um problema com o Windows OSes, Snowflake CLI não mostra avisos quando as permissões do arquivo de configuração são muito amplas para sistemas Windows.
Mensagens de erro
snow connection test
melhoradas quando uma função, warehouse ou banco de dados não existe.
Versão 2.1.2 (27 de março de 2024)¶
Novos recursos e atualizações¶
Adicionado
pip
como uma dependência do Snowflake CLI.Otimizado o comando
snow connection test
.
Correções de bugs¶
Corrigido um problema com a criação de ambientes virtuais nos comandos
snow snowpark package create
esnow snowpark build
.
Versão 2.1.1 (20 de março de 2024)¶
Novos recursos e atualizações¶
Lançamento inicial público
Correções de bugs¶
Nenhum.