Snowflake中Session.sql()缺失必填参数'query'错误求助
问题解决
错误原因
你犯了两个关键错误:
execute_query函数的session参数类型注解错误,写成了snowpark而非snowpark.Session- 最后一行传入的是
Session类本身,不是当前已初始化的会话实例,导致调用session.sql()时,把类当作实例使用,引发参数缺失错误
修正后的代码
# The Snowpark package is required for Python Worksheets. # You can add more packages by selecting them using the Packages control and then importing them. import snowflake.snowpark as snowpark def execute_query(session: snowpark.Session, query): df = session.sql(query) return df def test_execute_query(session: snowpark.Session): query = "SHOW TABLES IN DEV.TRANSIT" return execute_query(session, query) # Snowflake Python Worksheet中默认已存在session实例,直接传入即可 test_execute_query(session)
关键说明
- 在Snowflake Python Worksheet环境中,系统会自动创建并维护当前会话实例
session,不需要手动实例化Session类 - 确保函数参数的类型注解正确指向
snowpark.Session,避免类型混淆
内容的提问来源于stack exchange,提问作者Fangue Emmanuel
相关产品推荐
相关产品推荐

