メインコンテンツへスキップ
Snowflake を Base44 アプリに接続して、ウェアハウスのデータをクエリし、分析を実行します。結果はダッシュボード、レポート、ワークフローで使用できます。
アプリでコネクタを使用するには、Builder プラン 以上が必要です。

できること

ウェアハウスのデータを使って質問に答え、チームに最新情報を届けます。

ウェアハウスのデータをクエリ

Snowflake ウェアハウスに対して SQL を実行し、結果をアプリに表示します。

アナリティクスダッシュボードを構築

ウェアハウスの結果をチャート、テーブル、ダッシュボードで表示します。

データワークフローを自動化

ワークフローで Snowflake のクエリを使用します。たとえば、指標が下がったときに Slack チャンネルにアラートを送信します。
プロンプト例 必要なデータ、クエリのトリガー、動的なフィールドを AI チャットで説明します。例:

Snowflake で OAuth をセットアップする

Snowflake OAuth はセキュリティ統合を使用します。Base44 でコネクタを登録する前に、Snowflake でセキュリティ統合を作成します。
1

Base44 のコールバック URL を取得する

コールバック URL を登録する から Base44 のコールバック URL を取得します。下の SQL では、これを OAUTH_REDIRECT_URI として登録します。
2

OAuth セキュリティ統合を作成する

ACCOUNTADMIN、またはグローバルな CREATE INTEGRATION 権限を持つロールを使用します。この例では ACCOUNTADMIN を使用しています。別のロールを使う場合は、最初のステートメントを置き換えてください。
これにより、リフレッシュトークンの有効期間が 90 日に設定されます。これは Snowflake のデフォルト値であり、最大値でもあります。リダイレクト URI を表示 に既存の接続用の追加 URL が表示されている場合は、この CREATE SECURITY INTEGRATION ステートメントの OAUTH_ALTERNATE_REDIRECT_URIS にすべて追加します。別の統合名を選んだ場合は、残りの SQL ステートメントでもその名前を使用します。
3

接続の詳細を取得する

Client ID と Client Secret を読み取ります:
どちらの値も、セルのコピーボタンを使ってコピーします。Client ID は = で終わることが多く、この文字が欠けると接続が失敗します。Base44 に入力する Snowflake アカウント識別子を取得します:
4

Snowflake ID を準備する

DEFAULT_ROLE と DEFAULT_WAREHOUSE が設定された通常の Snowflake ID を使用します。そのロールには、アプリがクエリするデータベースとオブジェクトへのアクセス権と、ウェアハウスの使用権限が必要です。Snowflake はデフォルトで、ACCOUNTADMIN、SECURITYADMIN、ORGADMIN、GLOBALORGADMIN によるこの統合の使用をブロックします。これは Snowflake のセキュリティ上のデフォルトであり、Base44 の制限ではありません。
既存の統合を変更するには ALTER を使用します。CREATE OR REPLACE は統合を削除して再作成するため、リダイレクト URI の変更には使用しないでください。統合がすでに存在し、コールバック URL の更新だけが必要な場合は、代わりに次を実行します:
リダイレクト URI を表示 に既存の接続用の URL が表示されている場合は、追加の URL をすべて OAUTH_ALTERNATE_REDIRECT_URIS に含めます。すでに登録されている代替 URL は残してください。

Snowflake を接続する

アプリがウェアハウスをクエリできるよう、Snowflake を接続します。
始める前に:
  • Snowflake OAuth 統合: Snowflake の OAuth セキュリティ統合を作成し、クライアントID と クライアントシークレット を用意します。Snowflake で OAuth をセットアップする を参照してください。
  • Snowflake アカウント識別子: Snowflake の Web UI で左下のアカウント名をクリックし、Copy account URL を選択して、.snowflakecomputing.com より前の部分を使用します。Snowflake で OAuth をセットアップする の SQL で識別子を取得することもできます。
  • Base44 ワークスペースへのアクセス: Base44 でコネクタを登録するには、ワークスペースのオーナーまたは管理者である必要があります。
  • Snowflake へのアクセス: 接続する各ユーザーは、クエリしたいデータベースへのアクセス権が必要です。
Connectors ページから Snowflake を追加するには:
  1. ワークスペースのサイドバーで コネクタ をクリックします。
  2. コネクターを追加 をクリックします。
  3. Snowflake を検索し、クリックします。
  4. コネクタ名 を入力します。
  5. Snowflake OAuth 統合の クライアントID と クライアントシークレット を入力します。
  6. スコープ で refresh token を残し、追加スコープ は空のままにします。スコープと権限 を参照してください。
  7. 接続設定 で、Snowflake Account 識別子を orgname-account_name の形式で入力します。例: nzajreo-sp04035。.snowflakecomputing.com を含めたり、従来のアカウントロケーターを使用したりしないでください。
  8. コネクタを追加 をクリックします。
  9. アプリエディタでアプリを開きます。
  10. Snowflake の機能を追加するよう AI チャットに依頼します。
  11. 求められたらアカウントを認可します。
アプリでは、1 つの共有 Snowflake 接続を使うことも、各ユーザーが自分のアカウントを接続できるようにすることもできます。どちらにするかを AI チャットに伝えてください。

スコープと権限

アプリがクエリできるウェアハウスのデータは、Snowflake の権限によって決まります。
1

Base44 が追加するもの

  • refresh_token: 再度サインインせずに接続を更新します
2

自分で設定するもの

  • 追加スコープ は空のままにします。Snowflake は account:read などのサポートされていない値を、The requested scope is invalid というエラーで拒否します。
  • session:role:<role> は追加しないでください。
アクセス: Snowflake は、接続を認可した ID のデフォルトロールと権限を使用します。

バックエンド関数で Snowflake を使う

Snowflake を接続すると、バックエンド関数でアクセストークンを取得し、ウェアハウスをクエリできます。OAuth フローと認証情報の保存は Base44 が処理します。
アプリで 1 つの共有 Snowflake ID を使う場合は、getWorkspaceConnection(connectorId) を使用します。

コネクタ (開発者ドキュメント)

バックエンド関数から接続を取得し、その詳細を読み取り、サービスの API を呼び出します。

トラブルシューティング

Snowflake が接続できない場合やクエリを実行できない場合は、ロール、ウェアハウスへのアクセス、コールバック URL を確認してください。
接続した Snowflake ID の DEFAULT_ROLE と DEFAULT_WAREHOUSE を確認します。ロールには、ウェアハウス、データベース、スキーマに対する USAGE と、アプリがクエリするテーブルまたはビューに対する SELECT が必要です。アプリユーザー接続の場合は、各ユーザーの Snowflake ロールと付与された権限を確認してください。
一般的な解決方法については、リダイレクト URI のエラー を参照してください。Snowflake では、統合が有効になっていることを確認し、登録されているリダイレクト URI を接続が使用している URL と比較します:
Base44 に表示されるすべての URI が、OAUTH_REDIRECT_URI または OAUTH_ALTERNATE_REDIRECT_URIS に登録されていることを確認します。Snowflake はリダイレクト URI を 1 文字ずつ照合します。
特権ロールでサインインしています。Snowflake はデフォルトで、ACCOUNTADMIN、SECURITYADMIN、ORGADMIN、GLOBALORGADMIN による統合の使用をブロックします。代わりに通常の Snowflake ユーザーでサインインしてください。
このページは AI によって翻訳されました。最も正確で最新の情報については、英語版 を参照してください。