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

できること

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

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

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

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

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

ワークフローで Snowflake のクエリを使用します。たとえば、指標が下がったときに Slack チャンネルにアラートを送信します。
AI チャット向けのサンプルプロンプト

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

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

リダイレクト URI をコピーする

Base44 ワークスペースで Settings > Connectors に移動し、View redirect URIs をクリックします。表示されたすべての URI をコピーします。
2

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

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

接続の詳細を取得する

別の統合名を選んだ場合は、残りの SQL ステートメントでもその名前を使用します。Client ID と Client Secret を読み取ります:
どちらの値も、セルのコピーボタンを使ってコピーします。Client ID は = で終わることが多く、この文字が欠けると接続が失敗します。出力にはローテーション用の予備として OAUTH_CLIENT_SECRET_2 も含まれます。1 つ目のシークレットを使用してください。Base44 に入力する Snowflake アカウント識別子を取得します:
4

Snowflake ID を準備する

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

Snowflake を接続する

Snowflake はワークスペースレベルで 1 度登録します。その後、共有のビルダー接続として使うか、各アプリユーザーが自分の Snowflake ID で接続できるようにします。
始める前に:
  • Snowflake OAuth 統合: Snowflake の OAuth セキュリティ統合を作成し、Client ID と Client Secret を用意します。Snowflake で OAuth をセットアップする を参照してください。
  • Snowflake アカウント識別子: orgname-account_name の形式を使用します。例: nzajreo-sp04035。従来のアカウントロケーターは使用しないでください。この値を Snowflake Account に入力します。バックエンド関数では connectionConfig.subdomain として読み取られます。
  • Base44 ワークスペースへのアクセス: Base44 でコネクタを登録するには、ワークスペースのオーナーまたは管理者である必要があります。
  • Snowflake へのアクセス: 接続する各ユーザーは、クエリしたいデータベースへのアクセス権が必要です。
アプリで 1 つの共有 Snowflake ID を使う場合は、ワークスペースレベルで Snowflake を 1 度接続します。ワークスペース設定から Snowflake を追加するには:
  1. 左下のワークスペース名をクリックします。
  2. Settings をクリックします。
  3. Build tools の下の Connectors をクリックします。
  4. Connectors For App Builders で Snowflake を探します。
  5. コネクタの横にある Add をクリックします。
  6. Snowflake OAuth 統合にコールバック URL https://connectors.base44.com/api/oauth/callback が設定されていることを確認します。
  7. このコネクタを識別するための Connector name を入力します。
  8. Client ID と Client Secret を入力します。Additional scopes に値が入力済みの場合は消去します。
  9. Snowflake Account 識別子を orgname-account_name の形式で入力します。
  10. Add Connector をクリックします。
アプリの AI チャットから共有接続をセットアップすることもできます。作りたいものを説明し、求められたら同じコネクタの詳細を入力します。

スコープ

Base44 が追加するもの
refresh_token
再度サインインしなくても接続を更新します。
自分で設定するもの
Additional scopes:
このフィールドは空のままにします。コネクタを追加する前に、入力済みの値を消去してください。Snowflake は account:read などのサポートされていない値を、The requested scope is invalid というエラーで拒否します。
ロールのスコープ:
Base44 で session:role:<role> を追加しないでください。Snowflake は認可した ID のデフォルトロールを使用します。
アクセス: Snowflake は、接続を認可した ID のロールと権限を使用します。

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

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

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

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

トラブルシューティング

接続した Snowflake ID の DEFAULT_ROLE と DEFAULT_WAREHOUSE を確認します。ロールには、ウェアハウス、データベース、スキーマに対する USAGE と、アプリがクエリするテーブルまたはビューに対する SELECT が必要です。アプリユーザー向けコネクタの場合は、各ユーザーの Snowflake ロールと付与された権限を確認してください。
Snowflake に登録されたコールバック URL が、Base44 が送信するものと一致していません。ワークスペースの Connectors 設定で View redirect URIs をクリックします。この一覧を、ワークスペースのコールバック URL の正式なセットとして使用してください。統合が有効になっていることを確認し、登録されているリダイレクト URI を一覧と比較します:
Base44 に表示されるすべての URI が、OAUTH_REDIRECT_URI または OAUTH_ALTERNATE_REDIRECT_URIS に登録されていることを確認します。Snowflake はリダイレクト URI を 1 文字ずつ照合します。新しいコネクタは https://connectors.base44.com/api/oauth/callback を使用します。古いコネクタでは、オリジンごとのコールバックがまだ使われている場合があります。ビルダー接続では https://app.base44.com/api/external-auth/callback が使われる場合があります。アプリユーザー接続では、アプリのホストごとに 1 つのコールバック URL が使われる場合があります。コネクタが共有のコールバック URL を使うようになるまで、View redirect URIs に表示されるすべての URI を Snowflake に登録したままにしてください。
特権ロールでサインインしています。Snowflake はデフォルトで、ACCOUNTADMIN、SECURITYADMIN、ORGADMIN、GLOBALORGADMIN による統合の使用をブロックします。代わりに通常の Snowflake ユーザーでサインインしてください。
このページは AI によって翻訳されました。最も正確で最新の情報については、英語版 を参照してください。