各製品の資料を入手。
詳細はこちら →Monaca アプリで使えるSnowflake のデータ連携用のバックエンドAPI をノーコードで開発
ハイブリッドアプリ開発プラットフォームMonaca から Snowflake のデータに接続するためのバックエンドAPI サーバーをCData API Server で構築
最終更新日:2022-05-15
この記事で実現できるSnowflake 連携のシナリオ
こんにちは!プロダクトスペシャリストの宮本です。
CData API Server と ADO.NET Provider for Snowflake を使って、Monaca ハイブリッドアプリ開発プラットフォーム(https://ja.monaca.io/) から Snowflake に接続してデータを取得する方法を説明します。
API Server の設定
次のステップに従い、セキュアな REST API サービスを立ち上げます
デプロイ
API Server はサーバー上で稼働します。Windows 版は、製品に組み込まれているスタンドアロンのサーバーかIIS に配置して稼働させることができます。Java 版では、Java servlet コンテナにAPI Server のWAR ファイルを配置します。 デプロイの詳細は製品ヘルプを参照してください。API Server を Microsoft Azure、 Amazon EC2、Heroku にデプロイする方法はKB に記事があります。
Snowflake への接続
API Server の管理コンソールで[設定]→[接続]から新しい接続を追加してSnowflake を追加します。
Snowflake のアイコンがデフォルトのAPI Server の接続先にない場合には、API Server がJava 版の場合はJDBC Drivers、API Server がWindows 版の場合はADO.NET Data ProvidersからSnowflake ドライバーをAPI Server と同じマシンにインストールして、API Server を再起動します。

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(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
- Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。
Snowflake への認証
本製品は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。
キーペア
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、次の値を設定します。
- User:認証に使用するユーザーアカウント。
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
- PrivateKeyPassword:指定されたプライベートキーのパスワード。
その他の認証方法は、ヘルプドキュメントの「Snowflake への認証」セクションを参照してください。


API Server のユーザー設定
[設定]→[ユーザー]からAPI にアクセスできるユーザーの認証設定を行います。API Server はトークンでの認証を行うことができます。 IP アドレスでAPI へのアクセスを制限することも可能です。デフォルトではローカルマシンからのアクセスのみが許可されています。SSL の設定も可能です。

オンプレミスDB やファイルからのAPI Server 使用(オプション)
オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。
Monaca で作成したモバイルアプリでの Snowflake のデータ取得
Monacaではクラウド上にあるIDEが用意されていますので、まずはアカウント作成します。そこからCData API Server のデータをMonaca アプリ使う設定を作成していきます。
- ブラウザより Monaca のダッシュボードを開き、「新しいプロジェクトを作る」をクリックします。
- まずはテンプレートの種類は、フレームワークテンプレートを選択します。
- 今回は JavaScript を選択します。
- テンプレートは「Onsen UI V2 JS Navigation」を選択します。テンプレの画面構成は、「Push page」ボタンをクリックすると、画面遷移するものとなっています。
- 任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
- 作成したプロジェクトを選択した状態で、「クラウドIDEで開く」をクリックします。
- 検索ボタンがクリックされたら、先ほど作成した API を Ajax で呼び出すようにしています。
API Server で作成したエンドポイントをURL に設定し、ヘッダーにAPI Server のアクセストークンを設定します。
- レスポンスが返ってきた後、処理が成功していればリストにname だけを1データずつ加えています。






デバッグ実行してみる
Monaca でデバッグを行う際は、Monacaデバッガーアプリを実機にインストールすることで、MonacaのクラウドIDE と実機で動かしているMonacaデバッガーアプリが連動するようです。そのため、いちいちコードを修正してからのビルドが不要になるため、素早く検証を行うことができます。
また、Monaca Localkit を使うことで、ローカルの開発環境でも利用することができます。今回はこのLocalkit を使って vscode 上でコードを修正し、アプリ内容を確認していきました。
Monaca Localkit を起動し、プレビューを押すとすぐにアプリ画面が表示されます。

初期画面→検索→画面遷移まで確認することができました。

このように Snowflake 内のデータをMonaca アプリで利用することができるようになります。