【问题标题】:How to connect to snowflake using node.js如何使用 node.js 连接到雪花
【发布时间】:2020-09-22 10:21:29
【问题描述】:

我正在尝试使用在雪花文档https://docs.snowflake.com/en/user-guide/nodejs-driver-use.html 中找到的 node.js 驱动程序将我的 API 连接到雪花

const connection = snowflake.createConnection({
  account: process.env.SNOWFLAKE_ACCOUNT,
  username: process.env.SNOWFLAKE_USERNAME,
  password: process.env.SNOWFLAKE_PASSWORD,
})

connection.connect((err, conn) => {
  if (err) {
    console.error('Unable to connect: ' + err.message);
  } 
  else {
    console.log('Successfully connected to Snowflake.');
    const connection_ID = conn.getId();
    return connection_ID
  }
});

但是,我收到此错误: Unable to connect: Network error. Could not reach Snowflake.

不知道我错过了什么。如果有人可以在这里分享一些见解会很棒吗?提前致谢!

【问题讨论】:

    标签: node.js snowflake-cloud-data-platform


    【解决方案1】:

    我建议您仔细检查 SNOWACCT 的内容 确保它的设置与中的示例一样 https://docs.snowflake.com/en/user-guide/nodejs-driver-use.html#required-connection-options

    接下来我会尝试看看是否可以在主机(客户端)上安装SnowCD 您的 node.js 应用程序正在运行。 SnowCD 应该可以帮助您确定哪些 http/https 资源 您无法访问,然后也许您可以与网络团队中的某个人一起确定 为什么不允许您的访问(代理、VPC 规则等)。 https://docs.snowflake.com/en/user-guide/snowcd.html

    如果您无法安装 SnowCD,您可以尝试模拟它所做的事情,例如:

    • 执行SELECT SYSTEM$WHITELIST();SELECT SYSTEM$WHITELIST_PRIVATELINK();
    • 对于每个返回的链接,对每个链接进行 http 或 https 调用,就像在以下链接中所做的那样,并找出每个 url 的状态代码。 https://nodejs.dev/learn/making-http-requests-with-nodejs

    我希望这会有所帮助...丰富

    附言如果这个(或另一个)答案对您有帮助,请花点时间“接受”有帮助的答案 通过单击答案旁边的复选标记将其从“灰色”切换为“已填充”。

    【讨论】:

      【解决方案2】:

      https://stackoverflow.com/a/65434455/1440712上查看我的回答

      确保您的帐户类似于xxx.us-east-1,区域现已弃用。

      【讨论】:

        【解决方案3】:

        如果你想用node js连接雪花,你必须安装

        “雪花-sdk”

        使用 npm。下面的代码将帮助您访问雪花连接。

        const snowflake = require('snowflake-sdk');       
           connection = snowflake.createConnection({
              "account": "your account",
              "username": "user name",
              "password": "password",
              "database": "snowflake db",
              "warehouse": "snowflake warehouse",
              "schema": "schema"
            });connection.connect(function (err, conn) {
            if (err) {
              console.error('Unable to connect: ' + err.message);
            } else {
              console.log('Successfully connected as id: ' + connection.getId());
            }
          });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-07-22
          • 2019-06-18
          • 2020-05-14
          • 2021-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-18
          相关资源
          最近更新 更多