雪花连接器
  • 20 Feb 2024
  • 1 分钟阅读
  • 贡献者

雪花连接器


Article Summary

从 Snowflake 中查询信息,以便与 Tulip 应用程序配合使用

观众

请注意,Snowflake 是技术性的,可能需要您的 IT 支持来创建适当的角色和权限。

支持联系人

本连接器是与Spaulding Ridge 合作创建的。如需了解更多信息或有疑问,请联系 Spaulding Ridge,电子邮件:info@spauldingridge.com。

用途

雪花连接器简化了从雪花数据云查询信息的方式。

连接器说明

  • Snowflake 连接器用于从 Snowflake 中查询信息;目前没有直接写入 snowflake 的功能。这可以通过表 API 等其他工具实现
  • Snowflake 连接器可以比较容易地将单行数据作为变量输出。若要查询多行数据,则需要使用自定义部件来操作数组。
  • 请点击此处查看 Snowflake 文档

设置

正确使用需要具备以下条件: * 使用 ACCOUNTADMIN 角色创建安全凭证 * 使用刷新令牌生成额外访问令牌(大多数公司的安全首选项)。

要启用此连接,您需要在雪花实例上启用 OAUTH。使用具有 ACCOUNTADMIN 角色的用户登录您的 Snowflake 实例。运行以下脚本创建 OAUTH 安全集成

CREATE OR REPLACE SECURITY INTEGRATION oauth_tulip_int TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'https://[instance].tulip.co' OAUTH_ISSUE_REFRESH_TOKEN_VALIDITY = 7776000 BLOCKED_ROLES_LIST = ('SYSADMIN')注意:刷新令牌有效期可长达 90 天。访问令牌是通过编程生成的,但刷新令牌是手动创建

确保将 OAUTH_REDIRECT_URI 更新为你的郁金香实例 URL

  1. 运行下面的 describe 语句获取以下值:
  2. oauth_client_id
  3. oauth_redirect_uri
  4. oauth_authorization_endpoint
  5. oauth_token_endpoint

DESC 安全集成 oauth_tulip_int;

  1. 运行以下选择语句获取 OAUTH 客户端机密:
  2. oauth_client_secret2
  3. oauth_client_secret

select SYSTEM$SHOW_OAUTH_CLIENT_SECRETS( 'OAUTH_TULIP_INT' );5.通过导航至 URL 请求授权代码:https://<yoursnowflakeinstance>.snowflakecomputing.com/oauth/authorize?response_type=code&client_id=<OAUTH_CLIENT_ID>&redirect_uri=<OAUTH_REDIRECT_URI 的编码值> * 这将带您进入登录窗口,登录并允许 "oauth_tulip_int "访问您的 snowflake 帐户。这是您的 Auth Code Grant,保存此代码以便在 Tulip 中连接。请注意:* 所有查询参数都需要编码。使用urlencoder.io等工具对文本进行正确编码。

  1. 登录 Tulip 并从 Tulip 库(Web 或嵌入式)添加 Snowflake 连接器image.png
  2. 在 Tulip 用户界面左侧的环境设置部分点击生产、测试和开发
  3. 将主机更新为您的雪花实例 URL:

image.png

转到您的 Snowflake 实例,复制位于屏幕右下角的账户 URL*(将会有一个按钮,点击即可复制)。*

  1. 现在您可以从 Tulip 安全地连接到 Snowflake。库内容中包含一些示例函数,包括授权和获取 OAUTH 令牌。示例使用步骤 5 中生成的 Auth 代码作为 "获取 OAuth2 令牌 "模板中 refresh_token 的值。

使用方法

生成访问令牌后,可在向 Snowflake 发出的 SQL 请求中将其用作承载令牌

确保查询设置为POST请求,并确保**/api/v2/statements**添加到数据库查询的 host url 末尾。

其他参考资料

此 Snowflake 社区指南还提供了有关 Snowflake 集成的其他背景信息


本文对您有帮助吗?