アプリでコネクタを使用するには、Builder プラン 以上が必要です。
できること
ウェアハウスのデータをクエリ
Snowflake ウェアハウスに対して SQL を実行し、結果をアプリに表示します。
アナリティクスダッシュボードを構築
ウェアハウスの結果をチャート、テーブル、ダッシュボードで表示します。
データワークフローを自動化
ワークフローで Snowflake のクエリを使用します。たとえば、指標が下がったときに Slack チャンネルにアラートを送信します。
Snowflake で OAuth をセットアップする
Snowflake OAuth はセキュリティ統合を使用します。Base44 でコネクタを登録する前に、Snowflake でセキュリティ統合を作成します。1
リダイレクト URI をコピーする
Base44 ワークスペースで Settings > Connectors に移動し、View redirect URIs をクリックします。表示されたすべての URI をコピーします。
2
OAuth セキュリティ統合を作成する
ACCOUNTADMIN、またはグローバルな CREATE INTEGRATION 権限を持つロールを使用します。この例では ACCOUNTADMIN を使用しています。別のロールを使う場合は、最初のステートメントを置き換えてください。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 の制限ではありません。OAuth 統合がすでにある場合
OAuth 統合がすでにある場合
既存の統合を変更するには View redirect URIs に既存の接続用の URL が表示されている場合は、追加の URL をすべて
ALTER を使用します。CREATE OR REPLACE は統合を削除して再作成するため、リダイレクト URI の変更には使用しないでください。統合がすでに存在し、コールバック 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 を追加するには:
- 左下のワークスペース名をクリックします。
- Settings をクリックします。
- Build tools の下の Connectors をクリックします。
- Connectors For App Builders で Snowflake を探します。
- コネクタの横にある Add をクリックします。
- Snowflake OAuth 統合にコールバック URL
https://connectors.base44.com/api/oauth/callbackが設定されていることを確認します。 - このコネクタを識別するための Connector name を入力します。
- Client ID と Client Secret を入力します。Additional scopes に値が入力済みの場合は消去します。
- Snowflake Account 識別子を
orgname-account_nameの形式で入力します。 - Add Connector をクリックします。
スコープ
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 ロールと付与された権限を確認してください。リダイレクト URI の不一致で接続が失敗する
リダイレクト URI の不一致で接続が失敗する
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 によって翻訳されました。最も正確で最新の情報については、英語版 を参照してください。