在 运行 启用自动提交的查询期间 AWS Lambda 超时时雪花如何表现?

How does snowflake behave when AWS Lambda timesout during running a query with autocommit enabled?

我有一个 lambda 函数,它是 运行 这个关于 snowflake 的查询

CREATE OR REPLACE TABLE "foobar_table" AS (
    SELECT * FROM "foobar_view"
)

我想知道的是,当 aws lambda 在 15 分钟后超时而仍然 运行 此查询时会发生什么。 Lambda 使用自动提交功能连接到雪花,该功能会在连接关闭后提交所有更改。

到目前为止我所观察到的让我感到困惑,我想知道这是否是一些 UB 或者文档中是否描述了这种情况。 Lambda 函数在 运行 CREATE OR REPLACE sql 时超时,我确定它还没有完成,但由于某种原因 table 已创建,我可以在雪花中正常使用它.我假设它已经用部分数据创建了 table,但事实并非如此,因为 table 拥有所有数据。如果 lambda 在完成查询之前超时,我根本不明白这个 table 是如何存在于 snwoflake 中的

根据 Snowflake docs,有一个名为 ABORT_DETACHED_QUERY 的参数,其描述如下:

Specifies the action that Snowflake performs for in-progress queries if connectivity is lost due to abrupt termination of a session (e.g. network outage, browser termination, service interruption).

它是一个布尔值,默认值为 FALSE,这会导致 in-progress 查询继续执行,即使客户端(在您的情况下是 Lambda)中止也是如此。