Snowflake - как подключиться к Snowflake с помощью NodeJS - PullRequest
0 голосов
/ 20 сентября 2018

Есть ли у кого-нибудь рабочий код для подключения NodeJS и Snowflake.

Попробовал следующие инструкции для NodeJS :

var snowflake = require('snowflake-sdk');

var connection = snowflake.createConnection({
  account: 'account1',
  username: 'user1',
  password: 'pass1',
  region: 'us-east-1'
});

connection.connect(function(err, conn) {
  if (err) {
    console.error('Unable to connect: ' + err.message);
  } else {
    console.log('Successfully connected as id: ' + connection.getId());
  }
});

Продолжайте получать ошибки:

Network error. Could not reach Snowflake.

Аналогично - следующие инструкции для Python работают без проблем (при использовании EXACT того же пользователя / пароля / учетной записи и т. Д., Что и для NodeJS):

import snowflake.connector

ctx = snowflake.connector.connect(
    user='user1', 
    password='pass1',
    account='account1'
)

print ("SELECT current_version():")
cs = ctx.cursor()
try:
    cs.execute("SELECT current_version()")
    one = cs.fetchone()
    print(one[0])  # 2.50.2
finally:
    cs.close()

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

У учетной записи, которая используется в python, есть "account_id.region" что-то вроде

ctx = snowflake.connector.connect(
user='user1', 
password='pass1',
account='abc.us-east-1'
)

Для node.js вы должны указать то же, что и:

var connection = snowflake.createConnection({
  account: 'abc',
  username: 'user1',
  password: 'pass1',
  region: 'us-east-1'
});
0 голосов
/ 24 сентября 2018

Основываясь строго на предоставленном коде, функциональное различие между двумя примерами состоит в том, что Node.js определяет область us-east-1, а Python - область.Регион по умолчанию - us-west-2, который указывать не нужно.В сопроводительной документации отмечается: «используйте, только если ваша учетная запись не на западе США».Таким образом, указание неправильного региона может привести к ошибкам подключения.

...