Native SDK para conectores Java – Notas de lançamento¶
Notas de lançamento da biblioteca Java do Native SDK para conectores.
Versão 2.2.0 (10 de julho de 2024)¶
Mudanças gerais¶
Substituiu a ferramenta SnowSQL pela nova ferramenta Snowflake CLI
Dependências Java atualizadas
Mudanças de comportamento¶
com.snowflake.connectors.common.object
:O valor retornado por
toString
foi alterado para ser o mesmo quegetValue
nas classes:Identifier
ObjectName
Reference
SchemaName
com.snowflake.connectors.application.scheduler.SchedulerCreator
:Renomeação da classe para
SchedulerManager
.
com.snowflake.connectors.taskreactor.commands.queue.CommandsQueueRepository
:Renomeação da classe para
CommandsQueue
.
com.snowflake.connectors.application.integration.SchedulerTaskReactorOnIngestionScheduled
:Renomeação da classe para
TaskReactorOnIngestionScheduledCallback
.A classe agora usa
ResourceIngestionDefinition
e seus parâmetros genéricos.
com.snowflake.connectors.taskreactor.config.ConfigRepository
:Os valores de configuração agora são sempre tratados como Cadeias de caracteres, não como Variantes.
Novos recursos¶
Novo procedimento
PUBLIC.RESET_CONFIGURATION()
que permite redefinir o estado do assistente de configuração. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Redefinir a configuração.Novo procedimento
PUBLIC.RECOVER_CONNECTOR_STATE(STRING)
que permite redefinir o estado do conector. Consulte também Recuperar o estado do conector.Novo procedimento
TASK_REACTOR.REMOVE_INSTANCE(STRING)
que permite remover uma instância do Reator de tarefa. Consulte também Remover instância.com.snowflake.connectors.application.configuration.connector.ConnectorConfigurationKey
:Adicionada a nova chave
CORTEX_WAREHOUSE
.Adicionada a nova chave
CORTEX_USER_ROLE
.
com.snowflake.connectors.util.time
:Adição de novas classes para a serialização JSON de
LocalDate
eZoneId
.
com.snowflake.connectors.common.task.TaskRepository
:Adição de suporte para o parâmetro
AFTER
durante a criação da tarefa, se os predecessores da tarefa tiverem sido especificados.Adição de suporte para o parâmetro
USER_TASK_TIMEOUT_MS
.
com.snowflake.connectors.common.task.TaskProperties
:Adição de suporte para predecessores de tarefas.
Adição de suporte para a propriedade
USER_TASK_TIMEOUT_MS
.
com.snowflake.connectors.util.sql.SqlTools
:
Adição do método
callProcedureRaw(Session, String, String...)
.Adição do método
callProcedureRaw(Session, String, String, String...)
.
Adição da nova classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorker
- uma implementação simples de trabalhador para uso com cargas de trabalho de ingestão.Adição da nova classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestion
- uma representação simples de ingestão, para ser usada por umIngestionWorker
.Adição da nova classe
com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorkItem
- uma implementação simples de item de trabalho para trabalho de ingestão.
Correções de bugs¶
com.snowflake.connectors.common.task.TaskRepository
:Correção da verificação da condição de criação de tarefa bem-sucedida em
create(TaskDefinition, boolean, boolean)
.
com.snowflake.connectors.util.variant.VarianMapper
:Correção do tratamento de carimbos de data/hora em Variantes.
Correção dos validadores de entrada padrão nos manipuladores dos processos de configuração do conector.
Remoção de
DataFrame#first
da maioria das consultasSELECT
, o que corrigiu problemas com o uso de alguns procedimentos em tarefas.Remoção da concessão de
USAGE
no esquemaSTATE
para a função de aplicativoADMIN
.Adição da coluna
UPDATED_AT
ausente na tabela de configuração do Reator de tarefa.
Versão 2.1.0 (8 de julho de 2024)¶
Mudanças de comportamento¶
Nova abordagem de identificador.
Importante
Essa nova abordagem pode mudar a forma como os identificadores são usados em seu conector. Teste as novas alterações com cautela!
Agora, o SDK espera que todos os identificadores sejam enviados conforme fornecidos pelo usuário; o SDK avaliará por si mesmo se é um identificador entre aspas ou não para poder processá-lo corretamente.
A colocação automática entre aspas de identificadores será feita somente ao usar valores retornados por consultas do Snowflake.
Para usar a nova abordagem com a UI, o conector deve retornar uma nova propriedade na exibição
PUBLIC.APP_PROPERTIES
, com a chave deUI_ADD_QUOTES_TO_EXISTING_QUOTED_IDENTIFIERS
e um valor deTRUE
.Alteração da classe
com.snowflake.connectors.common.object.Identifier
:Remoção dos métodos
fromWithAutoQuoting()
egetName()
.Remoção do conceito de um identificador vazio; os métodos
empty()
,isNullOrEmpty()
,validateNullOrEmpty()
eisEmpty()
foram removidos.Adição do novo método
from()
, que permite habilitar as aspas automáticas durante a criação de instância de identificador; a cadeia de caracteres fornecida não colocada entre aspas automaticamente se for um identificador sem aspas e totalmente em letras maiúsculas.Alteração do método
validate()
paraisValid()
.Alteração do método
toSqlString()
paragetValue()
.Alteração dos métodos
getUnquotedValue()
,getQuotedValue()
,getVariantValue()
eisUnquoted()
.
Alteração da classe
com.snowflake.connectors.common.object.ObjectName
:
As propriedades de banco de dados e esquema agora são
Optional
.Alteração do tipo de retorno de
getDatabase()
egetSchema()
paraOptional
.Alteração do método
validate()
paraisValid()
.Alteração do método
validateDoubleDot()
paraisDoubleDot()
.Alteração do método
getEscapedName()
paragetValue()
.Adição dos métodos
getVariantValue()
egetSchemaName()
.Alteração da classe
com.snowflake.connectors.common.object.Reference
:
Remoção do conceito de referência vazia; os métodos
empty()
eisEmpty()
foram removidos.Alteração do método
validate()
paraisValid()
.Alteração do método
referenceName()
paragetName()
.Alteração do método
value()
paragetValue()
.Adição da nova classe
com.snowflake.connectors.common.object.SchemaName
para representar o esquema; comportamento semelhante ao da classecom.snowflake.connectors.common.object.ObjectName
.Adição da nova classe
com.snowflake.connectors.common.object.InvalidSchemaNameException
.
Outras adições e alterações¶
Alteração do método
applyToAllInitializedTaskReactorInstances()
emcom.snowflake.connectors.taskreactor.TaskReactorInstanceActionExecutor
para executar uma ação somente em instâncias do reator de tarefa inicializadas. Comportamento anterior: Ações foram executadas em todas as instâncias do reator de tarefa registradas.
Novos recursos¶
Procedimentos de gerenciamento de recursos:
Foram introduzidos novos retornos de chamada
PUBLIC.CREATE_RESOURCE()
ao procedimento que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Criação de recursos.Novo procedimento
PUBLIC.ENABLE_RESOURCE()
que permite habilitar o recurso desabilitado. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Como habilitar recursos.Novo procedimento
PUBLIC.DISABLE_RESOURCE()
que permite desabilitar o recurso habilitado. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Consulte também Como desabilitar recursos.Novo procedimento
PUBLIC.UPDATE_RESOURCE()
que permite atualizar as configurações de ingestão de um recurso específico. Além disso, há retornos de chamada adicionados que permitem executar operações personalizadas durante o fluxo do procedimento. Veja também Atualização de recursos.
com.snowflake.connectors.util.sql.SqlTools
:Adição do método
asVarchar()
que deverá substituir o métodovarcharArgument()
.Adição do método
asVariant()
que deverá substituir o métodovariantArgument()
.Marcação dos métodos
varcharArgument()
evariantArgument()
como obsoletos e definição para serem removidos no futuro.
Outras adições:
Definição do status do processo de ingestão como constantes na classe
com.snowflake.connectors.application.ingestion.process.IngestionProcessStatuses
.Adição do método
isNotOk()
à classecom.snowflake.connectors.common.response.ConnectorResponse
.Adição da classe
com.snowflake.connectors.util.snowflake.DefaultTransactionManager
que permite executar instruções SQL dentro de uma transação usando o métodowithTransaction()
.Registro aprimorado no reator de tarefa.
Correções de bugs¶
Correção de bug que resultava na remoção do esquema de instância do reator de tarefa, uma vez que um erro inesperado era gerado durante o procedimento
CREATE_INSTANCE_OBJECTS()
.
Versão 2.0.0 (24 de maio de 2024)¶
Lançamento inicial