Notas de lançamento de Snowflake Python APIs para 2024

Este artigo contém as notas de versão do Snowflake Python APIs, incluindo o seguinte, quando aplicável:

  • Mudanças de comportamento

  • Novos recursos

  • Correções de bugs voltados para o cliente

Consulte Snowflake Python APIs: Gerenciamento de objetos Snowflake com Python para ver a documentação.

Versão 1.0.0 (22 de outubro de 2024)

Novos recursos e atualizações

  • Mensagens de erro aprimoradas encurtando os rastreamentos de pilha. Para controlar esse comportamento, use a opção de variável de ambiente _SNOWFLAKE_PRINT_VERBOSE_STACK_TRACE.

  • Agora inclui propriedades somente leitura por padrão em dicionários retornados por to_dict() a partir dos modelos. Para alternar esta opção, use to_dict (hide_readonly_properties=True).

  • Adição da propriedade if_exists, que alterna se você pode executar uma ação sem gerar erro caso o recurso fornecido não exista, aos seguintes métodos e recursos:

    • drop() para Database, NetworkPolicy, View, User, ComputePool, ImageRepository, Pipe, Role, Service, Stage, Table, Task, DynamicTable, Role, Alert, Procedure, Warehouse, Schema e Function.

    • refresh() para Database e DynamicTable.

    • suspend() e resume() para Service, DynamicTable e Warehouse.

    • suspendRecluster() e resumeRecluster() para DynamicTable e Table.

  • Database agora oferece suporte ao método undrop().

  • Service agora oferece suporte ao parâmetro from_name em iter().

  • Table agora oferece suporte aos parâmetros target_database e target_schema em swap_with().

  • Procedure agora oferece suporte ao parâmetro copy_grants em create().

Correções de bugs

  • A criação de tabelas dinâmicas agora permite clonar corretamente objetos de origem de diferentes bancos de dados e esquemas.

  • Correção de um problema de conexão SSL para contas e organizações com sublinhados quando usados ​​em nomes de host.

Versão 0.13.1 (11 de outubro de 2024)

Novos recursos e atualizações

  • Adição de suporte para o recurso de função de banco de dados.

  • Adição de novos métodos à função, função de banco de dados e recursos de usuário para gerenciar privilégios de acesso.

  • Registros aprimorados com segredos removidos.

Correções de bugs

  • Nenhum.

Versão 0.13.0 (4 de outubro de 2024)

Novos recursos e atualizações

  • Melhoria significativa da documentação da API.

  • Remoção de snowflake-snowpark-python como uma dependência de snowflake.core. Entretanto, este pacote ainda é necessário para alguns recursos, como conceitos de gráfico de tarefa (DAG); a verificação e o requisito desses recursos são realizados em tempo de execução.

  • Adição de suporte para todas as versões 3.8 ou mais recentes do Python.

  • Adição de suporte para targetDatabase e targetSchema para clonagem de tabelas.

  • Adição de suporte a targetDatabase para clonagem de esquemas.

  • Definições de tipo expostas.

  • Adição de suporte para execute_job em ServiceCollection.

  • Adição de suporte para get_containers, get_instances e get_roles em ServiceResource.

  • Adição de suporte para create_or_update em Service e ComputePool.

  • Adição de suporte para os seguintes novos recursos:

    • Conta

    • Alerta

    • Integração de catálogo

    • Tabela de eventos

    • Volume externo

    • Conta gerenciada

    • Política de redes

    • Notebook

    • Integração de notificação

    • Canal

    • Procedimento

    • Fluxo

    • Funções definidas pelo usuário

    • Exibição

Correções de bugs

  • Correção de um bug relacionado ao registro de URLs, onde nem todas as partes da URL eram injetadas no registro.

Versão 0.12.1 (29 de agosto de 2024)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Correção de vários problemas relacionados ao manuseio de resultados grandes.

Versão 0.12.0 (20 de agosto de 2024)

Novos recursos e atualizações

  • O cliente agora tenta novamente as solicitações em códigos de erro passíveis de nova tentativa.

  • Os métodos StageResource a seguir estão obsoletos e foram renomeados. Os nomes dos métodos antigos agora são aliases.

    • De upload_file para put.

    • De download_file para get.

Versão 0.11.0 (25 de julho de 2024)

Novos recursos e atualizações

Nota

Os seguintes novos recursos exigem a versão 8.27 do Snowflake.

  • Adição do registro de cliente à biblioteca para melhorar a capacidade de depuração.

  • Adição de suporte para undrop aos tipos de objeto DynamicTable, Schema e Table.

  • Suporte aprimorado ao tipo de objeto Grant com as seguintes limitações:

    • O comando SQL SHOW GRANTS ON não é compatível.

    • Somente Grantees.role é compatível como o valor do cessionário para o método Grants.to (SHOW GRANTS TO).

  • Para serem mais consistentes com seus comandos SQL equivalentes, os métodos a seguir estão obsoletos e foram renomeados da seguinte forma. Os nomes dos métodos antigos agora são aliases que chamam os novos nomes dos métodos, então os nomes dos métodos antigos ainda funcionarão conforme o esperado.

    • De create_or_update para create_or_alter.

    • De delete para drop.

    • De undelete para undrop.

Correções de bugs

  • Correção de um bug no código gerado pelo procedimento armazenado.

Versão 0.10.0 (24 de junho de 2024)

Novos recursos e atualizações

Nota

Os seguintes novos recursos dependem do lançamento da versão 8.23 ​​do Snowflake.

  • Adição de suporte à API para os seguintes recursos:

    • DynamicTable

    • Function (Atualmente oferece suporte apenas às funções de serviço)

    • Grant

  • Adição de suporte para finalizadores em tarefas e gráficos de tarefa (DAGs).

Versão 0.9.0 (10 de junho de 2024)

Novos recursos e atualizações

  • Adição de suporte à API no modo experimental para os seguintes recursos:

    • User

    • Role

    • Gerenciamento de Stage

  • Nova adição de suporte à create_or_update para os recursos Warehouse, Schema e Database.

    Nota

    O recurso create_or_update para esses recursos requer a próxima versão 8.23 do Snowflake, que ainda não havia sido lançada em 10 de junho de 2024.

  • Adicionado o método get_endpoints para recursos Service que retornam uma lista de pontos de extremidade para um determinado objeto Service.

Correções de bugs

  • with_managed_access agora é retornado corretamente como uma propriedade de SchemaResource.

Versão 0.8.1 (31/05/2024)

Novos recursos e atualizações

  • Adicionado a opção booleana with_managed_access em create_or_update para SchemaResource. Esta opção é equivalente ao parâmetro opcional WITH MANAGED ACCESS em CREATE SCHEMA.

    • Exemplo de uso:

      schema.create_or_update(schema_def, with_managed_access = True)
      
      Copy
  • Adicionado o método get_endpoints para recursos Service que retornam uma lista de pontos de extremidade para um determinado objeto Service.

Versão 0.8.0 (30/04/2024)

Mudanças de comportamento

  • Removido o parâmetro deep de objetos fetch() em TableResource. fetch() sempre retorna informações detalhadas de colunas e restrições de um TableResource.

  • create_or_update() atualmente não funciona mais para os recursos Schema, Warehouse, Database e ComputePool. create() funciona para esses recursos.

  • Criando tabelas usando as_select não carrega mais informações de nenhuma tabela de origem usada na consulta as_select.

  • As propriedades data_retention_time_in_days e max_data_extension_time_in_days de uma tabela são herdadas das configurações do banco de dados ou esquema quando não definidas explicitamente em uma instrução create_or_update que altera uma tabela existente.

Novos recursos e atualizações

  • Adicionado suporte para o ponto de extremidade da API Cortex Search.

  • Adicionado suporte para resultados grandes.

  • Adicionado suporte para consultas de longa duração.

  • Adicionada a função auxiliar ServiceSpec para inferir o tipo de especificação de uma cadeia de caracteres fornecida em recursos Service.

  • Atualizado para usar a plataforma Snowflake API REST para todos os recursos.

  • pip install snowflake[ml] instala snowflake-ml-python v1.4.0.

Correções de bugs

  • Várias correções de bug.

Versão 0.7.0 (20/03/2024)

A versão 0.7.0 introduz atualizações nos pacotes snowflake e snowflake.core.

Novos recursos e atualizações

Atualizações de pacote snowflake:

  • Agora você pode executar pip install snowflake[ml] para instalar a biblioteca do Snowpark ML como uma dependência extra do pacote.

Atualizações de pacote snowflake.core:

  • Os predecessores de tarefas agora retornam seus nomes totalmente qualificados.

  • Adicionados os métodos __str__() e __repr_html__() para DAGRun para torná-lo compatível com notebooks.

  • Substituiu “DAGs” por “gráficos de tarefa” na documentação de referência da API para melhor alinhamento com a documentação do Snowflake.

Correções de bugs

Correções de pacote snowflake.core:

  • Gerador de código corrigido e modelos orientados por especificações OpenAPI atualizados.

  • Problemas de compatibilidade do Pydantic corrigidos.

  • Corrigido um bug na propriedade Task.error_integration.

  • Corrigido um bug na propriedade Task.config quando a propriedade do REST estava desaparecida.

Versão 0.6.0 (06/02/2024)

Novos recursos e atualizações

  • Os operadores >> e << de DAGTask agora aceitam uma função diretamente.

  • DAGTask agora usa o warehouse de DAG por padrão.

  • DAGTask aceita um novo parâmetro session_parameters.

  • TaskContext atualizado:

    • O método get_predecessor_return_value agora funciona para nomes longos e curtos de DAGTask.

    • Adicionados os métodos get_current_task_short_name e get_task_graph_config_property.

  • Adicionado suporte para pydantic 2.x.

  • Adicionado suporte para Python 3.11.

Correções de bugs

  • Corrigido um bug onde DAGOperation.run() gerava uma exceção se o DAG não tivesse uma programação.

  • Corrigido um bug em que a exclusão do DAG não excluía todas as suas subtarefas.

  • Corrigido um bug que gerava um erro quando o config de um DAG era definido.