UI/UX 特化ローコード開発ツール NEXACRO BEYOND を使ってSnowflake と連携したアプリを開発する方法

CData Connect Cloud を使ってSnowflake のデータのOData API エンドポイントを作成して、NEXACRO BEYOND からSnowflake のデータを使ったアプリを作成する方法。

杉本和也
リードエンジニア

最終更新日:2022-06-20

この記事で実現できるSnowflake 連携のシナリオ

こんにちは!リードエンジニアの杉本です。

NEXACRO BEYOND は UI/UX に特化したローコード開発ツールおよびその実行基盤です。この記事では、CData Connect Cloud を経由して NEXACRO BEYOND からSnowflake に連携し、アプリを開発する方法を紹介します。

CData Connect Cloud は、Snowflake のデータのクラウド to クラウドの仮想OData インターフェースを提供し、NEXACRO BEYOND からリアルタイムにSnowflake データへ連携することができます。

CData Connect Cloud とは?

CData Connect Cloud は、以下のような特徴を持ったクラウド型のリアルタイムデータ連携製品です。

  • SaaS やクラウドデータベースを中心とする150種類以上のデータソース
  • BI、アナリティクス、ETL、ローコードツールなど30種類以上のツールやアプリケーションから利用可能
  • リアルタイムのデータ接続に対応。データの複製を作る必要はありません
  • ノーコードでシンプルな設定

詳しくは、こちらの製品資料をご確認ください。

Connect Cloud アカウントの取得

以下のステップを実行するには、CData Connect Cloud のアカウントが必要になります。こちらから製品の詳しい情報とアカウント作成、30日間無償トライアルのご利用を開始できますので、ぜひご利用ください。


Connect Cloud を構成する

Snowflake Partner Connect を使って、Connect Cloud への接続を簡単に設定

Snowflake にログインした状態で「Snowflake Partner Connect」からCData Connect Cloud に直接サインアップして使用開始できます。

Snowflake のUI から「Data Products」 -> 「Partner Connect」の画面に移動し、「CData Software」をクリックすると、CData Connect Cloud にサインアップしてSnowflake への接続を自動作成してくれます。

この方法でサインアップした場合、Snowflake への接続設定の必要なくツールからご利用を開始いただけます。

コネクションを追加

NEXACRO BEYOND でSnowflake のデータをリアルタイムで操作するには、Connect Cloud からSnowflake に接続し、コネクションにユーザーアクセスを提供してSnowflake のデータのOData エンドポイントを作成する必要があります。

(オプション)新しいConnect Cloud ユーザーの追加

必要であれば、Connect Cloud 経由でSnowflake に接続するユーザーを作成します。

  1. ユーザーページに移動し、 Invite Users をクリックします。
  2. 新しいユーザーのE メールアドレスを入力して、 Send to invite the user をクリックします。 新しいユーザーを招待
  3. ユーザーページからユーザーを確認および編集できます。 Connect Cloud users

パーソナルアクセストークンの追加

MotionBoard への接続には、パスワードの代わりとしてパーソナルアクセストークンを利用します。セキュアなアクセス管理を実現するには、サービスごとに個別のPAT を作成するのがベストプラクティスです。

  1. Connect Cloud アプリの右上にある歯車アイコンをクリックします。
  2. Settings ページで「Access Tokens」タブに移動し、 Create PAT をクリックします。
  3. PAT の名前を入力して Create をクリックします。 新しいPAT を作成
  4. パーソナルアクセストークンは作成時にしか表示されないため、コピーして安全に保存してください。

Connect Cloud からSnowflake に接続

CData Connect Cloud では、簡単なクリック操作ベースのインターフェースでデータソースに接続できます。

  1. Connect Cloud にログインし、 Add Connection をクリックします。 Adding a Connection
  2. Add Connection パネルから「Snowflake」を選択します。 Selecting a data source
  3. 必要な認証プロパティを入力し、Snowflake に接続します。

    Snowflake データベースに接続するには、認証に加えて次のプロパティを設定します。

    • Url:自身のSnowflake URL、例えばhttps://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • 自身のURL を見つけるには:
        1. Snowflake UI の左下にある自身の名前をクリックします。
        2. Account ID にカーソルを合わせます。
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします。
    • Database(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
    • Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。

    Snowflake への認証

    本製品は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。

    キーペア

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

    • User:認証に使用するユーザーアカウント。
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
    • PrivateKeyPassword:指定されたプライベートキーのパスワード。

    その他の認証方法は、ヘルプドキュメントの「Snowflake への認証」セクションを参照してください。

    Configuring a connection (Salesforce is shown)
  4. Create & Test をクリックします。
  5. Edit Snowflake Connection ページのPermissions タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新

Connect Cloud にSnowflake OData エンドポイントを追加する

Snowflake に接続したら、目的のテーブルのOData エンドポイントを作成します。

  1. OData ページに移動し、 Add to create new OData endpoints をクリックします。
  2. Snowflake コネクション(例:Snowflake1)を選択し、Next をクリックします。
  3. 使用するテーブルを選択し、Confirm をクリックします。 テーブルを選択(Salesforce の例)

コネクションとOData エンドポイントが構成されたら、NEXACRO BEYOND からSnowflake に接続できるようになります。

プロジェクトの作成

Web API の準備が整ったのでNEXACRO BEYOND によるアプリケーション開発を進めていきます。NEXACRO BEYOND のアプリケーションは NEXACRO Studio というツールを用いて開発します。

  1. まず、NEXACRO Studio を立ち上げて新しいプロジェクトを作成しましょう。
  2. 任意の名称でProject を作成します。
  3. 作成するアプリケーションの種類は今回はDesktop としました。
  4. Template から「Full」を選択して、「Finish」をクリックします。

Form の作成

プロジェクトを作成したら、一覧画面を表示するためのForm を作成しておきます。

  1. 「File」→「New」→「Form(.xfdl)」を選択し
  2. 任意の名称でEmpty Form を作成します。
  3. 以下のようにフォームが表示できればOKです。

DataObject の作成

続いてWeb API との通信の部分を作り込んでいきます。NEXACRO BEYOND ではDataObject という機能を用いて、JSON フォーマットのWeb API との通信やデータ制御を行うようになっています。

  1. まず「DataObject」を画面に配置します。
  2. DataObject を配置すると、Invisible Object の一覧に配置したDataObject が表示されるので右クリックから「Edit」を選択します。
  3. このJson Content Editor でJSON のオブジェクト構造を確認します。ここで先ほどCData Connect Cloud で定義したリソースのエンドポイントを指定します。その際にクエリパラメータでの認証も入力しておきましょう。
  4. 併せて、今回はアプリケーションを実行したときに通信が行われるように「preload」を「true」に指定しておきました。

Dataset を構成する

今回は最終的に一覧画面を作るわけですが、一覧画面のコンポーネントはJSON のように不定形なオブジェクトだとバインディングすることができません。

そこで、一度DataObject を「Dataset」という画面上で利用できるオブジェクトにマッピングしてあげた上で、UI 上で表示できるようにします。

  1. 「Dataset」を先ほどと同じように画面に配置します。
  2. 作成したDataset の「binddataobject」で先ほど作成したDataObject を選択し、次に「dataobjectpath」を編集します。
  3. 以下のようなData Path Editor という画面で、JSON のオブジェクト構造をどのようにマッピングするかを構成できます。
  4. CData Connect Cloud で作成されたWeb API「$.value」というJSON Path でレコードに分解できます。そのため DataObject Path に「$.value [*]」と入力して、リロードし、各カラムをマッピングさせます。

Grid の作成

最後に一覧表示用のGrid を配置して、取得したデータを表示してみましょう。

  1. Grid をキャンパス上に配置します。
  2. Grid を配置後、先ほど定義したDataset をGrid 上にドラッグ・アンド・ドロップで持っていくと、以下のよう一覧画面が表示されます。

このように、CData Connect Cloud を経由することで、API 側の複雑な仕様を意識せずにAPI 連携アプリをNEXACRO BEYOND で開発できます。他にも多くのデータソースに対応するCData Connect Cloud の詳細をこちらからご覧ください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。