アプリでコネクタを使用するには、Builder プラン 以上が必要です。
できること
ウェアハウスのデータを使って質問に答え、チームに最新情報を届けます。ウェアハウスのデータをクエリ
Snowflake ウェアハウスに対して SQL を実行し、結果をアプリに表示します。
アナリティクスダッシュボードを構築
ウェアハウスの結果をチャート、テーブル、ダッシュボードで表示します。
データワークフローを自動化
ワークフローで Snowflake のクエリを使用します。たとえば、指標が下がったときに Slack チャンネルにアラートを送信します。
Snowflake で OAuth をセットアップする
Snowflake OAuth はセキュリティ統合を使用します。Base44 でコネクタを登録する前に、Snowflake でセキュリティ統合を作成します。1
Base44 のコールバック URL を取得する
コールバック URL を登録する から Base44 のコールバック URL を取得します。下の SQL では、これを
OAUTH_REDIRECT_URI として登録します。2
OAuth セキュリティ統合を作成する
ACCOUNTADMIN、またはグローバルな CREATE INTEGRATION 権限を持つロールを使用します。この例では ACCOUNTADMIN を使用しています。別のロールを使う場合は、最初のステートメントを置き換えてください。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 の制限ではありません。OAuth 統合がすでにある場合
OAuth 統合がすでにある場合
既存の統合を変更するには リダイレクト URI を表示 に既存の接続用の URL が表示されている場合は、追加の URL をすべて
ALTER を使用します。CREATE OR REPLACE は統合を削除して再作成するため、リダイレクト URI の変更には使用しないでください。統合がすでに存在し、コールバック 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 へのアクセス: 接続する各ユーザーは、クエリしたいデータベースへのアクセス権が必要です。
- ワークスペースのサイドバーで コネクタ をクリックします。
- コネクターを追加 をクリックします。
- Snowflake を検索し、クリックします。
- コネクタ名 を入力します。
- Snowflake OAuth 統合の クライアントID と クライアントシークレット を入力します。
- スコープ で refresh token を残し、追加スコープ は空のままにします。スコープと権限 を参照してください。
- 接続設定 で、Snowflake Account 識別子を
orgname-account_nameの形式で入力します。例:nzajreo-sp04035。.snowflakecomputing.comを含めたり、従来のアカウントロケーターを使用したりしないでください。 - コネクタを追加 をクリックします。
- アプリエディタでアプリを開きます。
- 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 の不一致で接続が失敗する
リダイレクト URI の不一致で接続が失敗する
一般的な解決方法については、リダイレクト URI のエラー を参照してください。Snowflake では、統合が有効になっていることを確認し、登録されているリダイレクト URI を接続が使用している URL と比較します:Base44 に表示されるすべての URI が、
OAUTH_REDIRECT_URI または OAUTH_ALTERNATE_REDIRECT_URIS に登録されていることを確認します。Snowflake はリダイレクト URI を 1 文字ずつ照合します。ロールがブロックされて接続が失敗する
ロールがブロックされて接続が失敗する
特権ロールでサインインしています。Snowflake はデフォルトで、
ACCOUNTADMIN、SECURITYADMIN、ORGADMIN、GLOBALORGADMIN による統合の使用をブロックします。代わりに通常の Snowflake ユーザーでサインインしてください。このページは AI によって翻訳されました。最も正確で最新の情報については、英語版 を参照してください。