Skip to the content.

Sequelize 用于 Snowflake

我们对 Snowflake 的实现并未在真实数据库上进行集成测试。 因此,我们无法保证其能如预期工作,也无法保证其稳定性。

我们依赖社区的帮助来改进此方言。

请参阅 Releases 以了解支持哪些版本的 Snowflake。

要在 Snowflake 上使用 Sequelize,你需要安装 @sequelize/snowflake 方言包:

```bash npm2yarn npm i @sequelize/snowflake



然后在 Sequelize 构造函数中使用 `SnowflakeDialect` 作为 dialect 选项:

```ts
import { Sequelize } from '@sequelize/core';
import { SnowflakeDialect } from '@sequelize/snowflake';

const sequelize = new Sequelize({
  dialect: SnowflakeDialect,
  accessUrl: 'https://myaccount.us-east-1.snowflakecomputing.com',
  role: 'myRole',
  warehouse: 'myWarehouse',
  username: 'myUserName',
  password: 'myPassword',
  database: 'myDatabaseName',
});

连接选项

import ConnectionOptions from ‘./_connection-options.md’;

以下选项会原样传递给 Sequelize 用于连接 Snowflake 的 snowflake-sdk 包。 更多关于每个选项的作用,请参考 Snowflake 官方文档

为方便起见,下面是仅包含 Sequelize 支持选项的文档摘录:

选项 说明
accessUrl 指定用于连接 Snowflake 的完整端点。
account Snowflake 账户标识符
application Specifies the name of the client application connecting to Snowflake.
authenticator Specifies the authenticator to use for verifying user login credentials. See the Snowflake documentation for details
clientSessionKeepAlive By default, client connections typically time out approximately 3-4 hours after the most recent query was executed.
If the clientSessionKeepAlive option is set to true, the client’s connection to the server will be kept alive indefinitely, even if no queries are executed.
Note that the Sequelize Pool also disconnects connections if they are idle after a specified time.
clientSessionKeepAliveHeartbeatFrequency Sets the frequency (interval in seconds) between heartbeat messages.
database The default database to use for the session after connecting.
password Password for the user for when authenticator is set to SNOWFLAKE.
privateKey Specifies the private key (in PEM format) for key pair authentication.
privateKeyPass Specifies the passcode to decrypt the private key file, if the file is encrypted.
privateKeyPath Specifies the local path to the private key file (e.g. rsa_key.p8).
role The default security role to use for the session after connecting.
timeout Number of milliseconds to keep the connection alive with no response. Default: 60000 (1 minute).
token Specifies the OAuth token to use for authentication for when authenticator is set to OAUTH.
username The login name for your Snowflake user or your Identity Provider.
warehouse The default virtual warehouse to use for the session after connecting. Used for performing queries, loading data, etc.

Other Snowflake Options

The following options are also available for Snowflake:

Option Description
showWarnings If true, warnings produced during the execution of a query will be sent to the logging callback. Default is false.