Monaca アプリで使えるRedshift データ連携用のバックエンドAPI をノーコードで開発

ハイブリッドアプリ開発プラットフォームMonaca から Redshift データに接続するためのバックエンドAPI サーバーをCData API Server で構築

CData API Server と ADO.NET Provider for Redshift を使って、Monaca ハイブリッドアプリ開発プラットフォーム(https://ja.monaca.io/) から Redshift に接続してデータを取得する方法を説明します。

API Server の設定

次のステップに従い、セキュアな REST API サービスを立ち上げます

デプロイ

API Server はサーバー上で稼働します。Windows 版は、製品に組み込まれているスタンドアロンのサーバーかIIS に配置して稼働させることができます。Java 版では、Java servlet コンテナにAPI Server のWAR ファイルを配置します。 デプロイの詳細は製品ヘルプを参照してください。API Server を Microsoft AzureAmazon EC2Heroku にデプロイする方法はKB に記事があります。

Redshift への接続

API Server の管理コンソールで[設定]→[接続]から新しい接続を追加してRedshift を追加します。

Redshift のアイコンがデフォルトのAPI Server の接続先にない場合には、API Server がJava 版の場合はJDBC Drivers、API Server がWindows 版の場合はADO.NET Data ProvidersからRedshift ドライバーをAPI Server と同じマシンにインストールして、API Server を再起動します。

Redshift への接続に必要な認証情報を入力します。接続のテストを行い、接続を確認して、設定を保存します。

Redshift への接続には次を設定します:

  • Server: 接続するデータベースをホストしているクラスタのホスト名およびIP アドレス。
  • Port: クラスタのポート。
  • Database: データベース名、ブランクの場合ユーザーのデフォルトデータベースになります。
  • User: ユーザー名。
  • Password: ユーザーのパスワード。

Server およびPort の値はAWS の管理コンソールで取得可能です:

  1. Amazon Redshift console (http://console.aws.amazon.com/redshift) を開く。
  2. Clusters ページで、クラスタ名をクリック。
  3. クラスタのConfiguration タブで、表示された接続文字列からクラスタのURL をコピーします。

  4. 接続を確立後、[設定]→[リソース]の画面でテーブル一覧からREST API として公開するエンティティを選択します。
  5. API Server のユーザー設定

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

    オンプレミスDB やファイルからのAPI Server 使用(オプション)

    オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

    Monaca で作成したモバイルアプリでの Redshift データ取得

    Monacaではクラウド上にあるIDEが用意されていますので、まずはアカウント作成します。そこからCData API Server のデータをMonaca アプリ使う設定を作成していきます。

    1. ブラウザより Monaca のダッシュボードを開き、「新しいプロジェクトを作る」をクリックします。
    2. まずはテンプレートの種類は、フレームワークテンプレートを選択します。
    3. 今回は JavaScript を選択します。
    4. テンプレートは「Onsen UI V2 JS Navigation」を選択します。テンプレの画面構成は、「Push page」ボタンをクリックすると、画面遷移するものとなっています。
    5. 任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
    6. 作成したプロジェクトを選択した状態で、「クラウドIDEで開く」をクリックします。
    7. 検索ボタンがクリックされたら、先ほど作成した API を Ajax で呼び出すようにしています。

      API Server で作成したエンドポイントをURL に設定し、ヘッダーにAPI Server のアクセストークンを設定します。
    8. レスポンスが返ってきた後、処理が成功していればリストにname だけを1データずつ加えています。

    デバッグ実行してみる

    Monaca でデバッグを行う際は、Monacaデバッガーアプリを実機にインストールすることで、MonacaのクラウドIDE と実機で動かしているMonacaデバッガーアプリが連動するようです。そのため、いちいちコードを修正してからのビルドが不要になるため、素早く検証を行うことができます。

    また、Monaca Localkit を使うことで、ローカルの開発環境でも利用することができます。今回はこのLocalkit を使って vscode 上でコードを修正し、アプリ内容を確認していきました。

    Monaca Localkit を起動し、プレビューを押すとすぐにアプリ画面が表示されます。

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

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

 
 
ダウンロード