Snowflake cloud data platform 从SnowFlake上的配置文件读取参数(不通过SnowSQL)

Snowflake cloud data platform 从SnowFlake上的配置文件读取参数(不通过SnowSQL),snowflake-cloud-data-platform,snowflake-task,Snowflake Cloud Data Platform,Snowflake Task,我能够从SnowFlake上的本地配置文件中读取参数(使用SnowSQL)。但在生产环境中,SQL将以自动化的方式运行(使用雪花任务) 我在Snowflake中创建了一个调用存储过程的任务。该存储过程接受我想从配置文件中读取的几个参数。因此,相同的存储过程可以用于多个类似的用例 请建议是否有任何解决办法。 参考链接: 尽管上面说“注意任务不支持帐户或用户参数”。您不能从任务中读取配置文件。在我看来,最简单的方法是将配置放在雪花表中,让存储过程从表中读取任何配置 因为我不太确定存储过程是否可以读取

我能够从SnowFlake上的本地配置文件中读取参数(使用SnowSQL)。但在生产环境中,SQL将以自动化的方式运行(使用雪花任务)

我在Snowflake中创建了一个调用存储过程的任务。该存储过程接受我想从配置文件中读取的几个参数。因此,相同的存储过程可以用于多个类似的用例

请建议是否有任何解决办法。

参考链接:


尽管上面说“注意任务不支持帐户或用户参数”。

您不能从任务中读取配置文件。在我看来,最简单的方法是将配置放在雪花表中,让存储过程从表中读取任何配置

因为我不太确定存储过程是否可以读取配置文件,因此我同意@SimonD建议的方法

另一种选择(尽管设计有点复杂)是在S3存储桶中使用JSON格式的配置文件,您可以通过stage加载该文件。请参考$notation访问相应的JSON属性,以访问键值,并在需要时将其注入存储过程中。这样,您的配置在snowflake之外仍然是JSON或文本格式,并且可以通过S3进行管理(如果您使用的是AWS)

虽然我还没有尝试过这种方法,但看起来它应该是有效的。这样,可以防止雪花访问或意外的数据库更新


我希望这个想法对你有意义?

谢谢@SimonD对事情的澄清。我遵循了你的方法,效果很好。