2025 年 Snowflake Connector for Python 版本说明

本文包含 Snowflake Connector for Python 的版本说明,包括以下内容(如果适用):

  • 行为变更

  • 新功能

  • 面向客户的错误修复

Snowflake 对 Snowflake Connector for Python 更新使用语义版本控制。

有关文档,请参阅 Snowflake Connector for Python

版本 3.15.0(2025 年 4 月 28 日)

非公开预览版 (PrPr) 功能

添加了对 AWS、Azure、GCP 和 Kubernetes 平台中工作流身份联合的支持。

免责声明:

  • 只有将 SF_ENABLE_EXPERIMENTAL_AUTHENTICATION 环境变量设置为 true 时,才能使用此功能。

  • 应仅在非生产数据中使用此功能。

  • 此 PrPr 功能不在支持范围内。但在 PrPr 阶段,产品和工程团队可提供服务。

  • 如需了解参与情况和相关文档,请联系您的客户团队。

新功能和更新

  • 添加了对 OAuth 2.0 授权代码流、OAuth 2.0 客户端凭据流和 OAuth 令牌缓存的全新身份验证方法支持。

    • 对于 OAuth 2.0 授权代码流:

      • 添加了 oauth_client_idoauth_client_secretoauth_authorization_urloauth_token_request_urloauth_redirect_urioauth_scopeoauth_disable_pkceoauth_enable_refresh_tokensoauth_enable_single_use_refresh_tokens 参数。

      • 为参数身份验证器添加了 OAUTH_AUTHORIZATION_CODE 值。

    • 对于 OAuth 2.0 客户端凭据流:

      • 添加了 oauth_client_idoauth_client_secretoauth_token_request_urloauth_scope 参数。

      • 为参数身份验证器添加了 OAUTH_CLIENT_CREDENTIALS 值。

    • 对于 OAuth 令牌缓存:需要将用户名传递给驱动程序配置,并且 client_store_temporary_credential property 属性不能设置为 true

错误修复

  • 将所需的最低 botobotocore 版本设为 1.24。

  • 修复了 OSCP 在已获得可信证书的情况下终止证书链遍历的问题。

版本 3.14.1(2025 年 4 月 21 日)

非公开预览版 (PrPr) 功能

  • 添加了 client_fetch_threads 实验参数,以更好地利用线程来提取查询结果。

  • 添加了新的实验性身份验证方法:

    • OAuth 授权码和客户端凭据流。

    • 适用于 AWS、Azure、GCP 和 Kubernetes 平台的工作流身份联合。

免责声明:

  • 这些功能只能通过将 SF_ENABLE_EXPERIMENTAL_AUTHENTICATION 环境变量设置为 true 来访问。

  • 这些功能仅应在非生产数据中使用。

  • 这些 PrPr 功能不在支持服务的覆盖范围内。但在 PrPr 阶段,产品和工程团队可提供服务。

  • 如需了解参与情况和相关文档,请联系您的客户团队。

新功能和更新

  • 添加了对 Python 3.13 的支持。

    备注

    Windows 64 支持仍处于试验阶段,不应用于生产环境。

  • 移除了对 Python 3.8 的支持。

  • 添加了对基本十进制 floating-point 类型的支持。

  • 添加了在 password 字段中提供 PAT 的支持。

  • 添加了对 GCS 区域端点的支持。

  • 添加了对 GCS 虚拟 URLs 的支持。有关更多信息,请参阅 请求端点 (https://cloud.google.com/storage/docs/request-endpoints#xml-api)。

  • 添加了相关支持,允许连接器继承在上游生成的 UUID4,它在语句参数(字段:requestId)中提供,而非自动生成 UUID4 用于 HTTP 请求 ID。

  • 改进了 urllib3、boto3 和 botocore 库中的日志记录,以确保即使将来迁移到外部自有库之后,仍能进行数据掩码。

  • 将某些消息的日志级别从 info 降低到了 debug,确保输出更易于理解。

  • 提高了临时凭据缓存存储的安全性和稳健性。

  • 启用了 insecure_mode 连接属性,并替换为 disable_ocsp_checks,行为与先前的属性相同。

错误修复

  • 改进了因超时而取消客户端查询的错误消息。

  • 修复了一个错误,该错误导致驱动程序在 TO_DATE 行转换为 python 时,遇到无效日期之后是正确的日期时发生静默失败。

  • 添加了 check_arrow_conversion_error_on_every_column 连接属性,可设置为 False 以恢复先前行为,即驱动程序忽略错误,直至错误出现在最后一列。此选项可让您解锁可能受错误修复影响的工作流程,这些工作流程将在后续版本中移除。

  • 修复了过期的 S3 凭据更新和发现过期凭据时进行递增重试的问题。

版本 3.14.0(2025 年 3 月 3 日)

新功能和更新

  • 将 pyOpenSSL 依赖项上边界从 <25.0.0 升级到 <26.0.0。

  • 优化了分发包查找,以提高导入速度。

  • write_pandas 增加了对 Iceberg 表的支持。

  • 增加了对 File 类型的支持。

错误修复

  • pyarrow 添加了 <19.0.0 pin,作为影响 Azure Batch 的一个错误的一种解决方法。

  • 修复了以大写形式指定 privatelink 账户名称时,无法确定 privatelink OCSP 缓存 URL 的错误。

  • 修复了 base64 编码的私钥测试。

  • 修复了 Windows 上文件权限检查的一个错误。

  • 添加了 unsafe_file_write 连接参数,用于恢复先前使用带有 644 权限的 GET 下载的文件的保存行为。

版本 3.13.2(2025 年 1 月 30 日)

新功能和更新

  • 连接器不再使用限定范围的临时对象。

错误修复

  • 无。

版本 3.13.1(2025 年 1 月 29 日)

新功能和更新

  • 无。

错误修复

  • 针对 SQL 注入强化了 snowflake.connector.pandas_tools 模块。有关更多信息,请参阅 CVE-2025-24793 (https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-2vpq-fh52-j3wv)。

  • 本地 OCSP 缓存已更新,以使用 json 模块而不是 pickle 来序列化其内容。有关更多信息,请参阅 CVE-2025-24794 (https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-m4f6-vcj4-w5mx)。

  • Linux 凭据缓存文件权限已明确更新为仅对所有者可读。有关更多信息,请参阅 CVE-2025-24795 (https://github.com/snowflakedb/snowflake-connector-python/security/advisories/GHSA-r2x6-cjg7-8r43)。

  • 更新了使用 GET 下载的文件的文件权限,仅允许文件所有者读取。

版本 3.13.0(2025 年 1 月 23 日)

新功能和更新

  • 添加了 iobound_tpe_limit 连接参数,以限制 PUT 和 GET 命令期间 IO-bound ThreadPoolExecutors 的大小。默认情况下,大小按文件数和 CPU 核心数中的较小值计算。

  • 添加了 Connection.is_valid() 方法,用于验证连接是否足够稳定,可以接收查询。

  • 将光标块 rowcount 的日志级别从 INFO 更新到 DEBUG。

  • private_key 身份验证类型中增加了对 base64 编码的 DER 私钥字符串的支持。

  • 已更新 README.md,以包括有关如何使用 cosign 验证包签名的说明。

错误修复

  • 无。

语言: 中文