apache-airflow-providers-snowflake
更新日志¶
6.2.2¶
杂项¶
移除 多余的 else 块 (#49199)
6.2.1¶
杂项¶
使 '@task' 从 airflow.sdk 导入 (#48896)
6.2.0¶
新特性¶
feat: 为每个 Snowflake query_id 发送独立的 OpenLineage 事件 (#47736)
6.1.1¶
错误修复¶
fix 当 deferrable 为 False 时,在 Snowflake 作业完成前将任务标记为已完成(在 SnowflakeSqlApiOperator 中) (#46672)
[OpenLineage] 修复了 CopyFromExternalStageToSnowflakeOperator 的 OL 实现中的输入问题 (#47168)
fix 修复 common.sql 中的弃用警告 (#47169)
杂项¶
将 flit 升级到 3.11.0 (#46938)
6.1.0¶
新特性¶
将 SnowflakeSqlApiOperator 的 snowflake_conn_id 添加到 template_fields (#46422)
错误修复¶
snowflake: 透传 ocsp_fail_open 设置 (#46476)
杂项¶
AIP-83 修订:添加在逻辑日期为 None 时生成 run_id 的逻辑。 (#46616)
AIP-72:支持为 SDK 中的 Context dict 提供更好的类型提示 (#45583)
移除针对 Python 3.9 之前版本的过时 pandas 规范 (#45399)
6.0.0¶
注意
此 Provider 版本仅适用于 Airflow 2.9+,具体说明请参阅 Apache Airflow provider 支持策略。
重大变更¶
警告
所有已弃用的类、参数和功能已从 snowflake Provider 包中移除。引入了以下重大变更:
移除了已弃用的
SnowflakeOperator
。请改用SQLExecuteQueryOperator
。
移除 Snowflake 中的 Provider 弃用内容 (#44756)
新特性¶
为 snowflake provider 启用 client_store_temporary_credential (#44431)
允许在 'providers.snowflake.hooks.SnowflakeHook' 的 extra dict 中指定 'json_result_force_utf8_encoding' (#44264)
使 Snowflake 连接的主机/端口可配置 (#44079)
杂项¶
将 provider 中的最低 Airflow 版本提升到 Airflow 2.9.0 (#44956)
更新多个 provider 文档中的 DAG 示例链接 (#44034)
5.8.1¶
杂项¶
为 DbApiHook, PrestoHook, 和 TrinoHook 添加支持去除分号的功能 (#41916)
将 python operator 移至 Standard provider (#42081)
5.8.0¶
新特性¶
添加 Snowpark operator 和 decorator (#42457)
错误修复¶
fix: SnowflakeSqlApiOperator 无法解析 SQL 中的参数 (#42719)
将 'private_key_content' 在 Snowflake 连接中标记为敏感字段 (#42649)
5.7.1¶
杂项¶
更新 Snowflake 账户名和定位器在 OpenLineage 中的命名方式 (#41775)
5.7.0¶
注意
此 Provider 版本仅适用于 Airflow 2.8+,具体说明请参阅 Apache Airflow provider 支持策略。
错误修复¶
Fix: 将 Hook 参数传递给 SnowflakeSqlApiHook 并为 API 调用做准备 (#41150)
杂项¶
将 provider 中的最低 Airflow 版本提升到 Airflow 2.8.0 (#41396)
5.6.1¶
杂项¶
openlineage: 将 OpenLineage provider 迁移到 V2 Facets。 (#39530)
清理 DbApiHook 中剩余的 getattr 连接 (#40665)
5.6.0¶
新特性¶
chore: 在 SnowflakeHook 中添加对 client_request_mfa_token 参数的支持 (#40394)
5.5.2¶
杂项¶
实现具有最低直接依赖关系的每个 provider 测试 (#39946)
openlineage: 在 SQL 解析器调用点附近添加一些调试日志 (#40200)
更新 Python 3.12 的 pandas 最低要求 (#40272)
根据支持策略将 Snowflake 客户端驱动程序版本提升到最低 2.7.11 (#39886)
5.5.1¶
杂项¶
移除 Google 和 Snowflake provider 中对 'openlineage.common' 的依赖。 (#39614)
从 docstring 中移除未使用的 'copy_into_postifx' 参数 (#39454)
更快的 'airflow_version' 导入 (#39552)
简化 'airflow_version' 导入 (#39497)
5.5.0¶
注意
此 Provider 版本仅适用于 Airflow 2.7+,具体说明请参阅 Apache Airflow provider 支持策略。
错误修复¶
openlineage, snowflake: 不对 Snowflake 运行外部查询 (#39113)
杂项¶
将 provider 中的最低 Airflow 版本提升到 Airflow 2.7.0 (#39240)
5.4.0¶
新特性¶
feat: 更新 SnowflakeSqlApiHook 以支持 OAuth (#37922)
杂项¶
移除 snowflake hook docstring 中对 execution_info 的引用 (#37804)
5.3.1¶
杂项¶
feat: 将所有类、函数、方法的弃用切换为使用装饰器 (#36876)
5.3.0¶
新特性¶
feat: 为 CopyFromExternalStageToSnowflakeOperator 添加 OpenLineage 支持 (#36535)
错误修复¶
修复 providers 中 warnings.warn 的 stacklevel 问题 (#36831)
杂项¶
优化 SnowflakeSqlApiOperator 在可延迟模式下的执行 (#36850)
5.2.1¶
错误修复¶
在派生自 DBApi 的类中返回公共数据结构
在子类中遵循 BaseHook connection_fields 方法签名 (#36086)
5.2.0¶
注意
此 Provider 版本仅适用于 Airflow 2.6+,具体说明请参阅 Apache Airflow provider 支持策略。
杂项¶
将 provider 中的最低 Airflow 版本提升到 Airflow 2.6.0 (#36017)
5.1.2¶
错误修复¶
OpenLineage 集成尝试在 SnowflakeHook 中使用不存在的方法 (#35752)
5.1.1¶
杂项¶
在 'create_filter_clauses' 中将 schema 过滤器转换为大写 (#35428)
提升 'snowflake-connector-python' 的最低版本 (#35440)
5.1.0¶
注意
此 Provider 版本仅适用于 Airflow 2.5+,具体说明请参阅 Apache Airflow provider 支持策略。
错误修复¶
在 f-string 中解码响应 (#34518)
杂项¶
提升 providers 的最低 Airflow 版本 (#34728)
在 providers 中使用 'airflow.exceptions.AirflowException' (#34511)
5.0.1¶
杂项¶
通过将部分导入放入类型检查块中,改进 Airflow providers 中的模块导入 (#33754)
在 providers 中使用具有多个上下文的单个语句代替嵌套语句 (#33768)
在 providers 中使用字面量 dict 而不是调用 dict() (#33761)
5.0.0¶
重大变更¶
警告
移除了已弃用的 S3ToSnowflakeOperator
,推荐使用 CopyFromExternalStageToSnowflakeOperator
。参数 s3_keys
需要更改为 files
,但行为应保持不变。
移除了已弃用的 SnowflakeToSlackOperator
,推荐使用 Slack Provider 中的 SqlToSlackOperator
。参数 schema
、role
、database
、warehouse
需要包含在 sql_hook_params
参数中,行为应保持不变。
移除已弃用的 'S3ToSnowflake' 和 'SnowflakeToSlack' 操作符 (#33558)
错误修复¶
在 Snowflake Operators 上设置 snowflake_conn_id 以避免错误 (#33681)
4.4.2¶
杂项¶
为 SQL operator 添加新参数以指定 conn id 字段 (#30784)
4.4.1¶
错误修复¶
修复 'SnowflakeValueCheckOperator' 的连接参数 (#32605)
4.4.0¶
新特性¶
openlineage, snowflake: 为 Snowflake 添加 OpenLineage 支持 (#31696)
杂项¶
为 DbApiHook.run 方法添加更精确的类型提示 (#31846)
将弃用信息添加到 providers 模块和类的 docstring (#32536)
4.3.1¶
错误修复¶
修复向 Snowflake 传递无效私钥路径时 Airflow Webserver 崩溃的问题 (#32016)
4.3.0¶
新特性¶
为 SnowflakeSqlApiOperator 添加 Deferrable 开关 (#31596)
4.2.0¶
注意
此版本放弃了对 Python 3.7 的支持
新特性¶
添加 SnowflakeSqlApiOperator 操作符 (#30698)
杂项¶
SnowflakeSqlApiOperator - 更改其基类 (#31751)
将 sql_api_generate_jwt 移出 hooks 文件夹 (#31586)
4.1.0¶
注意
此 Provider 版本仅适用于 Airflow 2.4+,具体说明请参阅 Apache Airflow provider 支持策略。
杂项¶
提升 provider 中的最低 Airflow 版本 (#30917)
4.0.5¶
杂项¶
更新 snowflake provider 4.0 重大变更的文档 (#30020)
4.0.4¶
错误修复¶
修复 files 参数缺失括号的问题 (#29437)
4.0.3¶
错误修复¶
为父类 operator 提供缺失的连接 (#29211)
Snowflake Provider - 从 UI 中隐藏 host (#29208)
4.0.2¶
重大变更¶
注意
此 Provider 版本仅适用于 Airflow 2.3+,具体说明请参阅 Apache Airflow provider 支持策略。
SnowflakeHook
现在遵循与所有其他 DBApiHook
实现相同的语义,并在其 run
方法中返回相同类型的响应。之前 (4.* 版本之前),Hook 返回 { "column": "value" ... }
字典,这与只返回序列的 DBApiHook 不兼容。此更改后 (并依赖 common.sql
>= 1.3.1
),SnowflakeHook
现在默认返回与 python DbApi 兼容的“结果”。
description
(即返回的列名和类型等) 可以在 run
方法完成后通过 Hook 的 descriptions
和 last_description
字段获取。
这使得 DatabricksSqlHook
适用于通用 SQL operator 和详细的 lineage 分析。
如果您有自定义 Hook,或在 TaskFlow 代码或依赖此行为的自定义 operator 中使用了 Hook,您需要调整您的 DAG,或者可以通过向 hook 的 run
方法传递 return_dictionaries=True
来使 SnowflakeHook
回到返回字典的行为。
SnowflakeOperator
也更加标准化,派生自通用的 SQLExecuteQueryOperator
,并在运行 SQL 查询时使用更一致的方法处理输出。但在这种情况下,execute
方法返回的结果保持不变(它仍然返回字典而不是序列,并且这些字典会被推送到 XCom),因此您的依赖此行为的 DAG 应无需更改即可继续工作。
更新:4.0 版本中一个未提及的重大变更是在 operator 中将 autocommit
默认切换为 False
。尽管这不太方便用户,但它是为了统一与其他 SQL operator 的接口而产生的副作用,并且我们已经发布给了用户,所以再次切换回 True
会导致更多困惑。如果您想继续使用 SnowflakeOperator
并期望 autocommit
工作,您应该手动为其添加 autocommit=True
参数,但更好的做法是切换到 SQLExecuteQueryOperator
。
在 SnowflakeHook
中,如果 extra__snowflake__foo
和 foo
都存在于连接的 extra dict
中,之前会使用带有前缀的版本;现在,将优先使用不带前缀的版本。
版本 4.0.0
和 4.0.1
已损坏并被撤回,因此 4.0.2
是 4.* 系列中应使用的第一个版本。
修复 exasol 和 snowflake DB hook 的 run() 方法结果的包装问题 (#27997)
使 Snowflake Hook 符合 DBApi 的语义 (#28006)
4.0.1 (已撤回)¶
警告
此版本已被撤回,因为它在与 common.sql
provider 交互时存在问题。请安装此版本之后发布的版本。
错误修复¶
修复重构时引入的 Databricks SQL operator 中的错误 (#27854)
将 common.sql provider 提升到 1.3.1 (#27888)
最终修复 SQL Hooks 和 Operators 的 行为 (#27912)
4.0.0 (已撤回)¶
警告
此版本已被撤回,因为它在与 common.sql
provider 交互时存在问题。请安装此版本之后发布的版本。
更新 snowflake hook,使其不使用额外前缀 (#26764)
杂项¶
将所有提供程序的最低 airflow 版本移至 2.3.0 (#27196)
新特性¶
添加 SQLExecuteQueryOperator (#25717)
错误修复¶
在 SQLCheckOperator.execute 中使用未使用的 SQLCheckOperator.parameters。 (#27599)
3.3.0¶
新特性¶
在 SnowflakeOperator 中添加 custom handler 参数 (#25983)
错误修复¶
修复 'S3ToSnowflakeOperator' 的错误弃用警告 (#26047)
3.2.0¶
新特性¶
将所有“旧” SQL operators 移至 common.sql 提供程序 (#25350)
将 DbApiHook.run() 方法与其覆盖方法统一 (#23971)
3.1.0¶
新特性¶
添加通用 'SqlToSlackOperator' (#24663)
将所有 SQL 类移至 common-sql 提供程序 (#24836)
S3ToSnowflakeOperator 中的 Pattern 参数 (#24571)
错误修复¶
S3ToSnowflakeOperator: 转义 s3_keys 中的单引号 (#24607)
3.0.0¶
重大变更¶
注意
此提供程序版本仅适用于 Airflow 2.2+,详情请参阅 Apache Airflow providers 支持策略。
错误修复¶
修复 SnowflakeHook 在 'sql' 参数中接受空列表时的错误 (#23767)
2.7.0¶
新特性¶
允许 Snowflake 的私钥字段中使用多行文本 (#23066)
2.6.0¶
新特性¶
添加对 Snowflake 连接中私钥的支持 (#22266)
错误修复¶
修复为所有提供程序错误添加 install_requires 的问题 (#22382)
2.5.2¶
杂项¶
移除 Snowflake 限制 (#22181)
2.5.1¶
杂项¶
支持 Python 3.10
2.5.0¶
新特性¶
添加更多 SQL 模板字段渲染器 (#21237)
错误修复¶
修复 #21096: 支持 extra__snowflake__insecure_mode 中的布尔值 (#21155)
2.4.0¶
新特性¶
支持 SnowflakeHook 中的不安全模式 (#20106)
移除 SnowflakeHook 中未使用的代码 (#20107)
改进 'SnowflakeHook.get_sqlalchemy_engine' (#20509)
排除 snowflake-sqlalchemy v1.2.5 (#20245)
限制 Snowflake connector 版本小于 <2.7.2 (#20395)
2.3.1¶
错误修复¶
移除 SnowflakeHook 中重复的 get_connection (#19543)
2.3.0¶
新特性¶
为 Snowflake Hook 添加 test_connection 方法 (#19041)
将 region 添加到 Snowflake URI 中。 (#18650)
2.2.0¶
新特性¶
添加基于 SQL Checks 的 Snowflake operators (#17741)
2.1.1¶
杂项¶
优化 Airflow 2.2.0 的连接导入
2.1.0¶
新特性¶
添加: snowflake provider hook 中的 Snowflake Role (#16735)
2.0.0¶
重大变更¶
自动应用 apply_default decorator (#15667)
警告
由于移除了 apply_default decorator,此提供程序版本需要 Airflow 2.1.0+。如果您的 Airflow 版本小于 < 2.1.0,并且您想安装此提供程序版本,请先将 Airflow 升级到至少 2.1.0 版本。否则您的 Airflow 包版本将自动升级,并且您必须手动运行 airflow upgrade db
来完成迁移。
新特性¶
将 'template_fields' 添加到 'S3ToSnowflake' operator (#15926)
允许 S3ToSnowflakeOperator 省略 schema (#15817)
通过添加 application 参数,使 Snowflake 能够将使用情况归因于 Airflow (#16420)
错误修复¶
修复:恢复将 sql 作为 str 传递给 SnowflakeHook 时的 parameters 支持 (#16102)
1.3.0¶
新特性¶
在 snowflake hook 和 operator 中暴露 snowflake query_id (#15533)
1.2.0¶
新特性¶
向 snowflake 连接添加动态字段 (#14724)
1.1.1¶
错误修复¶
发布 provider RCs 后,文档和工具中的修正 (#14082)
准备发布下一批提供程序: (#14487)
1.1.0¶
更新了文档和 readme 文件。
新特性¶
修复 S3ToSnowflakeOperator 以支持上传指定 stage 中的所有文件 (#12505)
在 S3ToSnowflakeOperator 中添加连接参数 (#12564)
1.0.0 (已撤回)¶
警告
此版本已撤回,原因是:使用时 Snowflake 会破坏 openssl
此提供程序的初始版本。