PostgreSQL のデータをノーコードモバイル開発のAppSheet で利用する方法
AppSheet は、インテリジェントなノーコードでのモバイルアプリケーションプラットフォームです。AppSheet では、データベースや OData への接続ができるため、CData の製品を組み合わせることで対応データソースを増やすことができます。この記事では CData API Server を使って、AppSheet でPostgreSQL のデータ にデータ連携するモバイルアプリを開発する方法を説明します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなPostgreSQL OData サービスを作成していきましょう。
PostgreSQL への接続
AppSheet からPostgreSQL のデータを操作するには、まずPostgreSQL への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「PostgreSQL」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、PostgreSQL への接続設定を行っていきましょう!
-
PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
API Server のユーザー設定
次に、API Server 経由でPostgreSQL にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
PostgreSQL 用のAPI エンドポイントの作成
ユーザーを作成したら、PostgreSQL のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でPostgreSQL への接続を設定してユーザーを作成し、API Server でPostgreSQL データのAPI を追加しました。これで、OData 形式のPostgreSQL データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
オンプレミスDB やファイルからのAPI Server 使用
オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。設定方法は、Cloud Gatway の設定方法 記事を参考にしてください。
AppSheet でPostgreSQL のOData サービスに登録
それでは、AppSheet からAPIServer への接続設定をしていきます。
- My account」から「Sources」タブをクリックします。
- 一番下まで下がると「+Data Source」がありますのでクリックします。
- AppSheet の対応データソースです。今回はOData を使います。
- APIServer への接続情報を入力します。
- OData Version: 4.0
- OData Service Root URL: API Server の以下のURL をセット
- Username: API Server で作成したユーザー名
- Password: API Server のアクセストークン
- SAP Gateway: Is not SAP Gateway
- Require Cross-Site Request Forgery(CSRF) Token: CSRD required
- 入力が完了したら、接続テストを行い、「Authorize Access」をクリックして保存します。
AppSheet でのPostgreSQL のデータ 連携モバイルアプリ作成
- MyAppsタブから、「New app」をクリックします。
- 「Start with your own data」を選択します。
- アプリ名を設定します。入力後、「Next step: choose your data」をクリックします。
- 先ほど作成したものも含めて接続先が表示されます。私は事前に APIServer という名前に変更していましたが、変更していなければ odata-1 などの名前で表示されていると思います。
- ここでは APIServer で公開設定したテーブルだけが表示されます。モバイルアプリで使用するテーブルを選択します。
- テーブル選択を行うとアプリ作成画面が表示されます。選択したデータソースをもとに自動的に右側にアプリが作成されます。
このように PostgreSQL 内のデータを簡単にAppSheet で作成するモバイルアプリで使用することができるようになります。
CData API Server の無償版およびトライアル
CData API Server は、無償版および30日の無償トライアルがあります。是非、API Server ページ から製品をダウンロードしてお試しください。