
こんにちは、シニアプロダクトスペシャリストの宮本です!
Azure 上で CData API Server を手軽に公開するには、Azure App Service が最適です。
今回は、Azure App Service へのデプロイ方法と、設定データを外部データベースに保存する構成についてご紹介します。
CData API Server とは

CData API Server は、主要なデータベースから OData 規格の REST API をノーコードで生成できるアプリケーション製品です。
例えば、Salesforce の外部オブジェクトから基幹データベースに API Server 経由でアクセスできるようになります。
基本的な操作方法などは以下記事をご参照ください。
https://jp.cdata.com/blog/install-api-apiserver
Azure App Service × API Server
構成自体はシンプルです。Azure App Service 上にCross Platform 版のAPI Server を配置し、設定情報を外部データベースに保存する構成となります。

API Server の準備
最初に以下リンクよりCData API Server のトライアルを申し込みます。
https://jp.cdata.com/apiserver/download/
その後に届くメールの中に製品のダウンロードリンクが入っていますので、「Cross-Platform (.tar.gz)」の方を選択してダウンロードします。
ダウンロードができたら、解凍/展開を行います。

上記状態になりましたら、次は設定ファイルを生成します。コマンドプロンプトでapiserver.jar が格納されているパスまで移動したら、以下のコマンドを実行してください。
java -jar apiserver.jar -GenerateProperties
これでapiserver.properties というファイルが生成されます。

Azure App Service ではポート80 にルーティングされるため、API Server 側のポートを80 に変更する必要があります。また、今回は設定情報とユーザ情報を外部データベースに保存しますので、その設定も行う必要があります。
本シナリオでは、外部データベースには今回SQL Server を選択します。また、cdata.app.directory のパスも変更します。パスは任意ですが、今回は /home/site/ 配下にapisrv_data というディレクトリを自動作成し、そこに保存するようにしています。
では、apiserver.properties を開いて以下のとおりに更新しましょう。
cdata.app.db=jdbc:sqlserver://xxxxxxx:1433;database=xxxx;user=xxxxx;password=xxxx;encrypt=false;
cdata.initParameters=APP_USERS:\"jdbc:sqlserver://xxxxxxx:1433;database=xxxx;user=xxxxx;password=xxxx;encrypt=false;\"
cdata.app.directory=/home/site/apisrv_data
cdata.http.port=80

以上でAPI Server 側の準備は完了です。
Azure App Service でアプリ作成
ここからは Azure App Service 側の設定手順をご紹介します。
作成ボタンからWeb アプリを選択してアプリ作成を開始します。

次に、Web アプリの設定内容を決めていくのですが、注意して欲しいところは以下になります。

デプロイタブ

ネットワークタブ

あとは基本デフォルト状態でOKです。
設定が完了したら作成しましょう。以下の画面になったら完了です。

Azure App Service へAPI Server をデプロイ
作成したアプリのリソースに移動し、デプロイセンターのFTPS 資格情報タブを開き、FTPS エンドポイントとユーザー名、パスワードをコピーしておきます。

次に、ファイル転送ツールを使用して、先ほど展開したAPI Server をAzure App Service に転送します。
今回はWinSCP を使用してみます。先ほどコピーした情報をセットして接続します。

接続したら、Azure App Service 側に不要なファイルがあるので削除し、API Server の「webapp」、「apiserver.properties」、「apiserver.jar」をAzure App Service に転送します。

Azure App Service スタートアップコマンドの設定
最後の設定として、Azure App Service 起動時に実行されるコマンドを設定します。
コマンドは以下を設定してください。
java -jar /home/site/wwwroot/apiserver.jar

Azure App Service 上のAPI Server にアクセス
概要ページの既定のドメインのリンクをクリックしてみましょう。

アカウント作成の画面が表示されれば成功です。

もし以下のエラーが出た場合は、Microsoft 公式のMS SQL のJDBC Driver をダウンロードし、Azure App Service のlib ディレクトリに格納することでエラーは解消します。

lib ディレクトリへアップロード

ユーザー作成後、ライセンスのアクティベーションを行うことで利用できるようになります。
なお、外部データベースに指定していたSQL Server では、以下のようなテーブルが作成され、ここに設定情報とユーザ情報が格納されていきます。

おわりに
いかがでしたでしょうか。Azure App Service 上にAPI Server V25 をホスティング+外部DB への設定情報の保存を行うことができました。今回ご紹介したAPI Server は 30 日間のトライアル利用が可能ですので、是非お試しください!
https://jp.cdata.com/apiserve