配置客户端、驱动程序、库或第三方应用程序以连接到 Snowflake¶
要配置客户端、驱动程序、库或应用程序以连接到 Snowflake,您必须指定 Snowflake 账户标识符。此外,您可能还需要指定应使用的仓库、数据库、架构和角色。
指定要使用的账户¶
客户端、连接器和驱动程序使用各种语法来连接到 Snowflake。通常,您应该使用包含组织名称 (orgname
) 和账户名称 (account_name
) 的变体,但以下例外:如果使用 Client Redirect 功能,请将账户名称 (account_name
) 替换为连接名称 (connection_name
)。有关此语法的示例,请参阅 使用连接 URL。
要配置与 Snowflake 服务的专用连接,请在账户名称或账户定位器语法中添加 .privatelink
。要确定在使用专用连接时,应使用哪个值连接到 Snowflake,请调用 Snowflake 账户中的 SYSTEM$GET_PRIVATELINK_CONFIG 功能。
如果您需要使用账户定位器,您可能还需要指定云区域 ID、云和政府合规级别,作为账户定位器之后的额外分段。有关要使用的格式,请参阅 格式 2:区域中的账户定位器。在下面的示例中,account_locator_with_additional_segments
表示账户位置,其中包含所需的任何额外分段。
- SnowSQL:
账户名称:
snowsql -a orgname-account_name
账户定位器:
snowsql -a account_locator_with_additional_segments
有关更多信息,请参阅 连接语法。
- JDBC:
账户名称:
jdbc:snowflake://orgname>-<account_name.snowflakecomputing.cn/?connection_paramsr
账户定位器:
jdbc:snowflake://account_locator_with_additional_segments.snowflakecomputing.cn/?connection_params
有关更多信息,请参阅 JDBC 驱动程序连接字符串。
- ODBC:
账户名称:
服务器:
orgname-account_name.snowflakecomputing.cn
账户定位器:
服务器:
account_locator_with_additional_segments.snowflakecomputing.cn}
有关更多信息,请参阅 ODBC 配置和连接参数。
- Python:
账户名称:
将
ACCOUNT
参数值设置为orgname-account_name
。
账户定位器:
将
ACCOUNT
参数值设置为account_locator_with_additional_segments
。
有关更多信息,请参阅 使用 Python Connector 连接到 Snowflake。
- .Net:
账户名称:
将
ACCOUNT
参数值设置为orgname-account_name
。将
HOST
参数值设置为默认值 (.snowflakecomputing.cn
)。
账户定位器:
将
ACCOUNT
参数值设置为account_locator_with_additional_segments
。将
HOST
参数值设置为默认值.snowflakecomputing.cn
。指定 Snowflake 账户是否不在us-west
区域。
有关更多信息,请参阅 连接 (https://github.com/snowflakedb/snowflake-connector-net/blob/master/doc/Connecting.md)。
- Golang:
账户名称:
db, err := sql.Open("snowflake", "jsmith:mypassword@orgname-account_name/mydb/testschema?warehouse=mywh")
账户定位器:
sql.Open("snowflake", "jsmith:mypassword@account_locator_with_additional_segments/mydb/testschema?warehouse=mywh")
有关更多信息,请参阅 连接字符串 (https://pkg.go.dev/github.com/snowflakedb/gosnowflake#hdr-Connection_String)。
- node.js:
账户名称:将
ACCOUNT
参数值设置为orgname-account_name
。账户定位器:将
ACCOUNT
参数值设置为account_locator_with_additional_segments
。
有关更多信息,请参阅 管理连接。
- Spark(连接器):
账户名称:与 JDBC 相同
账户定位器:与 JDBC 相同
有关更多信息,请参阅 为连接器设置配置选项。
- Spark(数据块):
账户名称:
Account URL for Snowflake account
账户定位器:
Account Locator URL for Snowflake account
有关更多信息,请参阅 在 Databricks 中为 Spark 配置 Snowflake。
- Spark (Qubole):
账户名称:将 Host Address 字段值设置为
orgname-account_name.snowflakecomputing.cn
。账户定位器:将 Host Address 字段值设置为
account_locator_with_additional_segments.snowflakecomputing.cn
。
有关更多信息,请参阅 在 Qubole 中配置 Snowflake for Spark。
- PHP:
账户名称:
将
ACCOUNT
参数值设置为orgname-account_name
。将所有区域的
REGION
参数值留空。
账户定位器:
将
ACCOUNT
参数值设置为account_locator
。如果 Snowflake 账户 不 在
us-west
区域,请设置REGION
参数值。
有关更多信息,请参阅 连接到 Snowflake 数据库 (https://github.com/snowflakedb/pdo_snowflake/blob/master/README.rst#connecting-to-the-snowflake-database)。
- SQLAchemy:
账户名称:
snowflake://user_login_name:password@orgname-account_name
账户定位器:
snowflake://user_login_name:password@account_locator_with_additional_segments
有关更多信息,请参阅 将 Snowflake SQLAlchemy 工具包与 Python Connector 结合使用。
使用 SQL 语句查找账户标识符¶
要获取账户标识符的 organization_name-account_name
表单,请执行以下 SQL 命令:
SELECT CURRENT_ORGANIZATION_NAME() || '-' || CURRENT_ACCOUNT_NAME();
要获取账户标识符的 账户定位器 表单,请执行以下 SQL 命令:
SELECT CURRENT_ACCOUNT();
其他配置步骤¶
以下主题涵盖关于配置连接的特定领域: