Mendix で Snowflake 連携アプリを構築
Mendix は、モバイルアプリとWeb アプリの両方を大規模に構築・保守できる高生産性アプリプラットフォームです。CData Connect AI と組み合わせることで、Mendix からクラウド間で即座にSnowflake のデータにアクセスできるようになります。この記事では、Mendix からCData Connect AI のデータソースに接続する方法を説明します。
CData Connect AI は Snowflake 専用のクラウド間インターフェースを提供し、ネイティブでサポートされているデータベースにデータをレプリケートすることなく、Mendix でリアルタイムのSnowflake のデータをインポートできます。Mendix でWeb およびモバイルアプリを構築する際、CData Connect AI はサポートされているすべてのSQL 操作(フィルター、JOIN など)を Snowflake に直接プッシュし、サーバーサイド処理を活用して必要なSnowflake のデータを迅速に返します。
Snowflake データ連携について
CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Snowflake データを迅速かつ効率的に読み書きできます。
- 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
- OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。
多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。
CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations
はじめに
Mendix 用に Snowflake への接続を設定
Mendix からSnowflake のデータを操作するには、Connect AI から Snowflake に接続し、接続へのユーザーアクセスを付与し、Snowflake のデータ 用のワークスペースを作成する必要があります。
Connect AI から Snowflake に接続
CData Connect AI は、シンプルなポイント&クリック操作でデータソースに接続できるインターフェースを提供しています。
- Connect AI にログインして「Sources」をクリックし、 Add Connection をクリックします
- Add Connection パネルから「Snowflake」を選択します
-
Snowflake への接続に必要な認証プロパティを入力します。
それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
- ご自身のURL は以下のステップで確認できます。
- Snowflake UI の左下にあるユーザー名をクリックします
- Account ID にカーソルを合わせます
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします
- Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
- Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します
Snowflakeへの認証
CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証方法を選択してください。
キーペア認証
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、以下の値を設定してください。
- User:認証に使用するユーザーアカウント
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
- PrivateKeyPassword:指定されたプライベートキーのパスワード
その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Save & Test をクリックします
-
Add Snowflake Connection ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。
Personal Access Token の追加
REST API、OData API、またはVirtual SQL Server 経由でConnect AI に接続する場合、Personal Access Token(PAT)を使用してConnect AI への接続を認証します。アクセス管理の粒度を維持するために、サービスごとに個別のPAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
- Settings ページで「Access Tokens」セクションに移動し、 Create PAT をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- Personal Access Token は作成時にのみ表示されるため、必ずコピーして安全な場所に保存してください。
Mendix 用に Snowflake エンドポイントを設定
Snowflake への接続後、対象テーブル用のワークスペースを作成します。
-
「Workspaces」ページに移動し、 Add をクリックして新しいワークスペースを作成します(または既存のワークスペースを選択します)。
- Add をクリックしてワークスペースに新しいアセットを追加します。
-
Snowflake 接続(例:Snowflake1)を選択し、「Next」をクリックします。
-
操作したいテーブルを選択し、「Confirm」をクリックします。
- ワークスペースのOData サービスURL をメモしておきます。例:https://cloud.cdata.com/api/odata/{workspace_name}
接続、PAT、ワークスペースの設定が完了したら、Mendix からSnowflake のデータに接続する準備が整いました。
Snowflake 連携アプリの構築
OData メタデータファイルのダウンロード
Mendix で接続を作成する際、接続フローにはData Source Contract File が必要です。以下の手順に従って、curl(コマンドラインツール)を使用してCData Connect AI のOData メタデータファイルをダウンロードします:
- お使いのOS 用のコマンドラインウィンドウを開きます。Windows では、スタートメニューを開いて「cmd」と入力し、Enter キーを押してコマンドプロンプトを開きます。macOS およびLinux では、ターミナルウィンドウを開きます。
- curl がシステムにインストールされているか確認するには、「curl -help」と入力してEnter キーを押します。インストールされていない場合は、curl のWeb サイトからインストールしてください。
-
以下のcurl コマンドを実行します。USER をCData Connect AI のユーザー名に、PAT を先ほど生成したPAT に置き換えてください:
curl -u USER:PAT https://cloud.cdata.com/api/odata/{workspace_name}/$metadata -o metadata.xml - curl コマンドで作成されたmetadata.xml ファイルを探し、アクセスしやすい場所に移動します。
Mendix からCData Connect AI に接続
以下の手順に従って、Mendix からCData Connect AI への接続を確立します:
- Mendix にログインし、Data Hub ページを開きます。
- 「Register a Data Source」セクションで「OData」を選択します。
- 上記の手順で取得したmetadata.xml ファイルをアップロードし、「Next」をクリックします。
- 「Data Source Name」と「Data Source Version」に希望する値を入力します。 「Data Source Relative Path」フィールドに「/api/odata/{workspace_name}」と入力し、「Next」をクリックします。
- 「Application information」ページで「Register a new application」をクリックします。
- 「Application Name」に名前を入力し、テクニカルオーナーを選択します(デフォルトでは現在ログインしているユーザーになります)。
- 「Next」をクリックします。「Environment Name」フィールドに希望する名前を入力します(例:CData Connect AI)。 「Environment Location」フィールドに「https://cloud.cdata.com」と入力し、必要に応じて適切な「Environment Type」(例:Production)を選択します。
- 「Done!」をクリックして接続を作成します。
これで、Mendix Studio Pro で接続を使用して、リアルタイムのSnowflake のデータにアクセスするアプリケーションを簡単に作成できるようになりました。
CData Connect AI の入手
クラウドアプリケーションから300以上のSaaS、Big Data、NoSQL ソースへのリアルタイムデータアクセスを実現するために、CData Connect AI を今すぐお試しください!