Native SDK for Connectors Java – 版本说明

Native SDK for Connectors Java 库的版本说明。

版本 2.2.0(2024 年 7 月 10 日)

一般变更

  • 将 SnowSQL 工具替换为新的 Snowflake CLI 工具

  • 更新了 Java 依赖关系

行为变更

  • com.snowflake.connectors.common.object

    • 更改了 toString 返回的值,与类中 getValue 相同:

      • Identifier

      • ObjectName

      • Reference

      • SchemaName

  • com.snowflake.connectors.application.scheduler.SchedulerCreator

    • 将类重命名为 SchedulerManager

  • com.snowflake.connectors.taskreactor.commands.queue.CommandsQueueRepository

    • 将类重命名为 CommandsQueue

  • com.snowflake.connectors.application.integration.SchedulerTaskReactorOnIngestionScheduled

    • 将类重命名为 TaskReactorOnIngestionScheduledCallback

    • 类现在使用 ResourceIngestionDefinition 及其泛型参数。

  • com.snowflake.connectors.taskreactor.config.ConfigRepository

    • 配置值现在始终被视为字符串,而不是变体。

新功能

  • PUBLIC.RESET_CONFIGURATION() 程序,允许重置配置向导状态。此外,还增加了回调函数,允许在过程流中执行自定义操作。另请参阅 重置配置

  • 允许重置连接器状态的新 PUBLIC.RECOVER_CONNECTOR_STATE(STRING) 程序。另请参阅 恢复连接器状态

  • 允许移除任务反应器实例的新 TASK_REACTOR.REMOVE_INSTANCE(STRING) 程序。另请参阅 移除实例

  • com.snowflake.connectors.application.configuration.connector.ConnectorConfigurationKey

    • 添加了新的 CORTEX_WAREHOUSE 键。

    • 添加了新的 CORTEX_USER_ROLE 键。

  • com.snowflake.connectors.util.time

    • LocalDateZoneId 的 JSON 序列化添加了新类。

  • com.snowflake.connectors.common.task.TaskRepository

    • 添加了任务创建期间对 AFTER 参数的支持,前提是已指定任务前置。

    • 添加了对 USER_TASK_TIMEOUT_MS 参数的支持。

  • com.snowflake.connectors.common.task.TaskProperties

    • 增加了对任务前置的支持。

    • 添加了对 USER_TASK_TIMEOUT_MS 属性的支持。

  • com.snowflake.connectors.util.sql.SqlTools

  • 添加了 callProcedureRaw(Session, String, String...) 方法。

  • 添加了 callProcedureRaw(Session, String, String, String...) 方法。

  • 添加了新的 com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorker 类 - 用于引入工作负载的简单处理器实现。

  • 添加了新的 com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestion 类 – 简单的引入表示,供 IngestionWorker 使用。

  • 添加了新的 com.snowflake.connectors.taskreactor.worker.ingestion.SimpleIngestionWorkItem 类 - 用于引入工作的简单工作项实现。

错误修复

  • com.snowflake.connectors.common.task.TaskRepository

    • 修复了 create(TaskDefinition, boolean, boolean) 中成功的任务创建条件检查。

  • com.snowflake.connectors.util.variant.VarianMapper

    • 修复了变体中时间戳的处理。

  • 更正了连接器配置过程的处理程序中的默认输入验证器。

  • 从大多数 SELECT 查询中移除了 DataFrame#first,修复了在任务中使用一些程序的问题。

  • 已删除将 STATE 架构的 USAGE 授予应用程序角色 ADMIN

  • 将缺少的 UPDATED_AT 列添加到了任务反应器配置表。

版本 2.1.0(2024 年 7 月 8 日)

行为变更

  • 新的标识符方法。

    重要

    这种新方法可能会改变标识符在连接器中的使用方式,请对新变更进行充分测试!

    • 现在 SDK 期望所有标识符都按照用户提供的方式发送;SDK 将自行评估标识符是否是否为带引号的标识符,以便进一步正确处理。

    • 只有在使用 Snowflake 查询返回的值时,才会自动为标识符加引号。

    • 要使用带有 UI 的新方法,连接器必须在 PUBLIC.APP_PROPERTIES 视图中返回一个新属性,其键为 UI_ADD_QUOTES_TO_EXISTING_QUOTED_IDENTIFIERS,值为 TRUE

    • 变更了 com.snowflake.connectors.common.object.Identifier 类:

      • 移除了 fromWithAutoQuoting()getName() 方法。

      • 移除了空标识符的概念;移除了 empty()isNullOrEmpty()validateNullOrEmpty()isEmpty() 方法。

      • 添加了新的 from() 方法,允许在标识符实例创建期间启用自动加引号;如果提供的字符串是未加引号且完全大写的标识符,则不会自动为其加引号。

      • validate() 方法变更为 isValid()

      • toSqlString() 方法变更为 getValue()

      • 添加了 getUnquotedValue()getQuotedValue()getVariantValue()isUnquoted() 方法。

  • 变更了 com.snowflake.connectors.common.object.ObjectName 类:

    • 制作了数据库和架构属性 Optional

    • getDatabase()getSchema() 的返回类型变更为 Optional

    • validate() 方法变更为 isValid()

    • validateDoubleDot() 方法变更为 isDoubleDot()

    • getEscapedName() 方法变更为 getValue()

    • 添加了 getVariantValue()getSchemaName() 方法。

  • 变更了 com.snowflake.connectors.common.object.Reference 类:

    • 移除了空引用的概念;移除了 empty()isEmpty() 方法。

    • validate() 方法变更为 isValid()

    • referenceName() 方法变更为 getName()

    • value() 方法变更为 getValue()

    • 添加了新的 com.snowflake.connectors.common.object.SchemaName 类来表示架构;与 com.snowflake.connectors.common.object.ObjectName 类的行为相似。

    • 添加了新的 com.snowflake.connectors.common.object.InvalidSchemaNameException 类。

其他添加和变更

  • com.snowflake.connectors.taskreactor.TaskReactorInstanceActionExecutor 中变更了 applyToAllInitializedTaskReactorInstances() 方法,对已初始化的任务反应器实例执行操作。先前的行为:在所有注册的任务反应器实例上执行了操作。

新功能

  • 资源管理过程:

    • PUBLIC.CREATE_RESOURCE() 过程引入了新的回调函数,允许在过程流中执行自定义操作。另见 创建资源

    • 新的 PUBLIC.ENABLE_RESOURCE() 过程允许启用禁用的资源。此外,还增加了回调函数,允许在过程流中执行自定义操作。另见 启用资源

    • 新的 PUBLIC.DISABLE_RESOURCE() 流程允许禁用已启用的资源。此外,还增加了回调函数,允许在过程流中执行自定义操作。另见 禁用资源

    • 新的 PUBLIC.UPDATE_RESOURCE() 过程允许更新特定资源的引入配置。此外,还增加了回调函数,允许在过程流中执行自定义操作。另见 更新资源

  • com.snowflake.connectors.util.sql.SqlTools

    • 添加了 asVarchar() 方法用于替代 varcharArgument() 方法。

    • 添加了 asVariant() 方法用于替代 variantArgument() 方法。

    • varcharArgument()variantArgument() 方法标记为已弃用,并计划在未来将其移除。

  • 其他添加:

    • com.snowflake.connectors.application.ingestion.process.IngestionProcessStatuses 类中将引入过程状态定义为常量。

    • com.snowflake.connectors.common.response.ConnectorResponse 类添加了 isNotOk() 方法。

    • 添加了 com.snowflake.connectors.util.snowflake.DefaultTransactionManager 类,该类允许通过使用 withTransaction() 方法在事务中执行 SQL 语句。

    • 改进了任务反应器中的日志记录。

错误修复

  • 修复了一个错误,该错误导致在 CREATE_INSTANCE_OBJECTS() 过程中出现意外错误时,会删除任务反应器实例架构。

版本 2.0.0(2024 年 5 月 24 日)

初始版本。

语言: 中文