Snowflake创建TASK报invalid property 'ERROR_INTEGRATION'解决方法
报错原因
这个报错的本质是处理SQL请求的节点(客户端/服务端)没有识别ERROR_INTEGRATION为TASK的合法属性,和你提前创建的通知集成资源本身无关——如果是集成名称错误、类型不匹配、权限不足,会抛出对应的值错误或权限错误,不会提示属性非法。
常见触发场景只有两类:
- 客户端本地语法校验拦截:这是最高发的原因。2022年年中之前发布的Snowflake客户端(包括旧版SnowSQL、低版本JDBC/ODBC驱动、第三方SQL工具内置的Snowflake语法校验规则)没有同步更新TASK对象的属性元数据,会在SQL提交到Snowflake服务端之前直接做本地校验拦截,抛出属性非法的报错。
- 服务端版本/功能开关问题:如果你用的是AWS上的Snowflake VPS专属虚拟部署版本,版本迭代节奏比公有云慢,可能还未上线TASK ERROR_INTEGRATION的支持;部分创建时间较早的公有云账户也可能存在功能元数据不同步、对应开关未默认开启的情况,导致服务端无法识别该属性。
解决步骤
按以下顺序排查处理即可:
- 先排除客户端干扰:直接登录Snowflake官方Web控制台(Snowsight/经典控制台),在控制台自带的工作表中运行你的建TASK语句。如果控制台运行成功,说明问题出在你之前使用的客户端,把对应客户端、Snowflake驱动升级到最新正式版就能解决。
- 如果控制台运行仍然报相同错误,先使用
ACCOUNTADMIN角色执行SELECT CURRENT_VERSION();确认当前Snowflake服务端版本不低于6.40,版本不达标的情况下等AWS侧的Snowflake集群完成版本更新即可。 - 如果版本满足要求仍报错,联系Snowflake技术支持刷新你账户的TASK通知功能元数据、确认对应功能开关开启即可,AWS区域公有云账户的该功能已经正式GA,刷新后就能正常配置。
补充注意:写SQL时直接引用通知集成名称即可,不需要加尖括号;如果集成名称是大小写敏感的特殊标识符,用双引号包裹名称就行。
内容的提问来源于stack exchange,提问作者kar Sir
相关产品推荐
相关产品推荐

