スノーフレーク・コネクター
  • 20 Feb 2024
  • 1 読む分
  • 寄稿者

スノーフレーク・コネクター


Article Summary

Snowflakeの情報をTulipのアプリに問い合わせる

オーディエンス

Snowflakeは技術的なものであり、適切な役割と権限を作成するためにITサポートが必要になる場合があります。

サポート窓口

このコネクターはSpaulding Ridgeとのコラボレーションにより作成されました。詳細やご質問については、info@spauldingridge.com までお問い合わせください。

目的

Snowflake コネクタは、Snowflake Data Cloud から情報を照会する方法を合理化します。

コネクタの注意事項

  • Snowflake コネクタは Snowflake から情報を照会するために使用されます。現在、snowflake に直接書き込む機能はありません。これは Tables API などの他のツールで実現できます。
  • Snowflake コネクタは、単一行を変数として比較的簡単に出力できます。複数行のデータをクエリするには、配列を操作するカスタムウィジェットが必要になります。
  • Snowflake のドキュメントはこちらにあります。

セットアップ

ACCOUNTADMIN ロールを使用してセキュリティ認証情報を作成できること * Refresh Tokens を使用して追加の Access Tokens を生成できること(ほとんどの企業ではセキュリティ優先)。

この接続を有効にするには、snowflakeインスタンスでOAUTHを有効にする必要があります。 1.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をtulipインスタンスのURLに更新してください。

  1. 以下のdescribe文を実行して、以下の値を取得します:
  2. oauth_client_id
  3. OAUTH_REDIRECT_URI
  4. oauth_authorization_endpoint
  5. oauth_token_endpoint

DESC SECURITY INTEGRATION oauth_tulip_int;

  1. OAUTHクライアント・シークレットを取得するには、以下のselect文を実行します:
  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のエンコード値>* これは、ログインウィンドウに移動し、ログインし、あなたのsnowflakeアカウントにアクセスするために'oauth_tulip_int'を許可します。 * URLがcode='xxxxxxxxxx'を含むページにリダイレクトされます。これはあなたの認証コードグラントです。 注意**:*** すべてのクエリパラメータはエンコードする必要があります。urlencoder.ioのようなツールを使用して、テキストを正しくエンコードしてください。

  1. Tulipにログインし、Tulipライブラリ(Webまたは埋め込み)からSnowflake Connectorを追加します。image.png
  2. Tulip UIの左側にある環境設定のセクションで、本番環境とテスト環境と開発環境をクリックします。
  3. HostをsnowflakeインスタンスのURLに更新します:

image.png

Snowflakeインスタンスにアクセスし、画面右下にあるアカウントURLをコピーします*(クリックするとコピーできるボタンがあります)*。

  1. これでTulipからSnowflakeに安全に接続できるようになりました。認証やOAUTHトークンの取得など、いくつかのサンプル関数がライブラリコンテンツに含まれています。例Get OAuth2 Token "テンプレートのrefresh_tokenの値として、Step 5で生成したAuth Codeを使用します。

使用方法

アクセストークンが生成されたら、SnowflakeへのSQLリクエストでベアラートークンとして使用できます。

クエリがPOSTリクエストに設定されていることを確認し、データベースクエリ用のホスト URL の最後に**/api/v2/statements**が追加されていることを確認してください。

その他のリファレンス

この Snowflake Community ガイドには、Snowflake 統合に関する追加情報も記載されています。


この記事は役に立ちましたか?