SNOWFLAKE 存储过程中的 PUT 命令

PUT command in SNOWFLAKE Stored Procedure

我尝试在 * SnowSQL * v1.2.16 中执行

CREATE OR REPLACE PROCEDURE EDTIWKRSMWYJSYJYVFI0MQRM3K4BRQ06("start_week_id" FLOAT)
returns string
language javascript
execute as caller
as
$$
    snowflake.execute({sqlText: `PUT 'file://path_to_files' @named_stage;`});
    
    return "success";
$$;


CALL EDTIWKRSMWYJSYJYVFI0MQRM3K4BRQ06(1148);

存储过程有效,但数据未添加到舞台,在存储过程外部执行相同代码将数据加载到舞台。我在 Snowflake 文档中发现 PUT 和 GET 命令对 java/scala 存储过程不起作用的信息,但没有关于 javascript 的信息。
link 到文档:https://docs.snowflake.com/en/sql-reference/stored-procedures-java.html

问题:如何使用 javascript 存储过程

将数据添加到阶段

你不能。 Snowflake 中的存储过程 运行s 无法访问您的 PC。在您的 PC 上执行 PUT 命令 运行s 并将文件从您的 PC 上传到 Snowflake。

您需要 运行 2 个 SnowSQL 命令,一个用于 PUT 文件,一个用于 运行 SP(或任何您想要构建的)来处理暂存文件 -假设这就是你想要做的