使用Go界面获取雪花查询的查询ID

时间:2020-09-19 16:48:34

标签: go snowflake-cloud-data-platform

我试图通过Golang来获取我正在雪花上执行的查询的查询ID。执行查询后,在雪花UI上,我们获得了指向查询ID的链接以及结果。我不确定如何以编程方式获取此查询ID。不知道我是否做对了,但这就是我所拥有的-使用连接字符串连接到雪花;使用此连接来执行查询。除了结果,我还希望查询ID。我是雪花的新手,对实现此目的的任何帮助将不胜感激。

import (
    "database/sql"
    "log"
)

var db *sql.DB

func init() {
    db, err := sql.Open("snowflake", "<connection string>")
    if err != nil {
        log.Fatal(err)
    }
}

func callDB() {
    type result struct {
        ID   string
        Name string
    }

    row := db.QueryRow("SELECT ID, NAME FROM EMPLOYEE") // get query id as well
    if err := row.Scan(&result.ID, &result.Name); err != nil {
        log.Fatal(err)
    }
    ...
    ...
    ...
}

func main() {
    callDB()
}

1 个答案:

答案 0 :(得分:0)

您可以使用SnowflakeResultSnowflakeError获取查询ID,也可以直接向Snowflake提交查询,以使用SQL中可用的LAST_QUERY_ID函数。以下是一些参考文件供您使用:

https://docs.snowflake.com/en/sql-reference/functions/last_query_id.html

https://godoc.org/github.com/snowflakedb/gosnowflake