You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Snowflake的SQLAlchemy Toolkit能否获取sfqid属性?

Snowflake SQLAlchemy Toolkit 获取Query ID的方法

可以获取,Snowflake的SQLAlchemy Toolkit底层封装的就是snowflake-connector-python驱动,只需要获取到底层原生的连接或指针对象,就可以直接读取sfqid属性。

两种常用获取方式:

  • 方式1:先获取原生连接再执行查询,直接读取指针对象的sfqid
from sqlalchemy import create_engine

# 替换为你自己的Snowflake连接串
engine = create_engine("snowflake://<user>:<password>@<account>/<database>/<schema>?warehouse=<warehouse>")

with engine.connect() as conn:
    # 获取Snowflake原生驱动连接对象
    raw_conn = conn.connection.driver_connection
    with raw_conn.cursor() as cursor:
        cursor.execute("SELECT CURRENT_VERSION()")
        # 直接获取当前查询的Query ID
        query_id = cursor.sfqid
        print(f"本次查询ID: {query_id}")
  • 方式2:使用SQLAlchemy标准API执行查询后,从原生连接获取最近一次查询的ID
from sqlalchemy import create_engine, text

engine = create_engine("snowflake://<your-connection-string>")

with engine.connect() as conn:
    # 正常使用SQLAlchemy API执行查询
    result = conn.execute(text("SELECT CURRENT_VERSION()"))
    # 从底层原生连接直接读取最近一次查询的ID,不需要额外创建指针
    query_id = conn.connection.driver_connection.last_query_id
    print(f"本次查询ID: {query_id}")

注:官方文档没有单独说明该用法,是因为该操作属于SQLAlchemy通用的「访问底层原生驱动对象」的能力,不属于Snowflake SQLAlchemy包的自定义封装功能。

内容的提问来源于stack exchange,提问作者Eric Shepherd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:12:02