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

如何修改通过Snowflake CLI部署的存储过程的Python Runtime版本?

修改已部署Snowflake存储过程的Python Runtime版本

问题背景

使用Snowflake CLI编排部署存储过程到Snowflake数据仓库,本地已按官方《Snowflake CLI 项目定义》完成应用配置,通过snow snowpark deploy --replace可正常部署,存储过程运行正常。但Python 3.8 runtime即将停止支持:

  • 2024年10月14日起,Snowflake不再为Python 3.8提供安全补丁及更新,使用该版本的对象将无技术支持
  • 2025年3月31日起,无法创建使用Python 3.8的新对象

尝试通过snow snowpark deploy --env RUNTIME_VERSION='3.9' --replace修改runtime版本未生效,需可行修改方法。

可行修改方法

方法1:修改项目配置文件(推荐)

直接在Snowflake CLI项目的配置文件(如snowflake.yml)中指定目标runtime版本,重新部署即可生效:

  1. 打开本地项目的配置文件,找到对应存储过程的定义区块
  2. 添加或更新runtime_version: 3.9配置项,示例配置片段:
snowpark:
  procedures:
    - name: YOUR_PROCEDURE_NAME
      handler: your_module.your_function
      runtime_version: 3.9
      # 保留原有其他配置(如返回类型、参数定义等)
  1. 执行部署命令:
snow snowpark deploy --replace

方法2:直接执行ALTER PROCEDURE SQL语句

无需修改本地配置,可通过Snowflake控制台或SQL客户端直接修改已部署的存储过程:

ALTER PROCEDURE YOUR_PROCEDURE_NAME(参数类型1 参数名1, 参数类型2 参数名2) 
SET RUNTIME_VERSION = '3.9';

注意:必须严格匹配原存储过程的参数列表(包括参数类型和名称),否则会提示对象不存在。

方法3:使用CLI的--config-override参数临时覆盖

部署时通过--config-override参数直接覆盖配置中的runtime版本,适合临时调整:

snow snowpark deploy --replace --config-override snowpark.procedures[0].runtime_version=3.9

说明:snowpark.procedures[0]对应配置中第一个存储过程,多存储场景需调整索引或通过名称指定(具体格式参考Snowflake CLI官方文档)。

内容的提问来源于stack exchange,提问作者Nicolas Sanchez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 17:48:24