Heroku でAPI Server をホストする
Salesforce Connect などのスマートフォンやクラウドベースのアプリケーションからデータを利用できます。CData API Server は5つのステップで Heroku にデプロイできます。CData API Server は、80種類以上のリレーショナル、非リレーショナル、クラウド、オンプレミスのデータソースに対応した OData フィードを生成する、Windows および Java 向けの軽量 Web アプリケーションです。この記事では、Webapp Runner Tomcat コンテナと Heroku Toolbelt を使用して API Server をデプロイする方法を説明します。Jetty Runner でも同様の手順でデプロイできます。
- Heroku Toolbelt と CData API Server(Java 版)をインストールします。
-
アプリの Resources タブで、Add-Ons セクションの Edit をクリックします。ボックスに Heroku Postgres と入力してデータベースを追加し、Save をクリックします。
API Server はこのデータベースに接続設定とスキーマを保存します。
- アプリの Settings タブで、Reveal Config Vars -> Edit をクリックし、以下の構成変数を追加します。
- APP_DB、APP_USERS、APP_LOGS 変数に、プロビジョニングした PostgreSQL データベースへの有効な JDBC 接続文字列を設定します。構文は以下のとおりです。
jdbc:postgresql://AddressOnAmazonAWS.com:5432/MyDatabaseName?user=MyUsername&password=MyPassword
DATABASE_URL から以下の部分を使用して、JDBC 接続文字列の各部分を取得します。postgres://user:[email protected]:5342/MyDatabaseName
- WEBAPP_RUNNER_OPTS 変数を以下のように設定します。
--tomcat-users-location ../../tomcat-users.xml
API Server の管理者は tomcat-users.xml で定義されています。tomcat-users.xml へのパスは、Web アプリケーションを実行する Tomcat コンテナである Webapp Runner JAR からの相対パスであることに注意してください。
- APP_DB、APP_USERS、APP_LOGS 変数に、プロビジョニングした PostgreSQL データベースへの有効な JDBC 接続文字列を設定します。構文は以下のとおりです。
API Server の管理者認証を構成します。cdata_admin ロールを含む tomcat-users.xml ファイルを作成します。スタンドアロンの Tomcat インストールのデフォルトファイルをベースにした、以下の tomcat-users.xml を使用できます。
<?xml version='1.0' encoding='cp1252'?> <tomcat-users> <user name="admin" password="admin" roles="cdata_admin" /> </tomcat-users>
- コマンドプロンプトを開き、以下のコマンドを実行して WAR をデプロイします。
heroku deploy:war -w path-to-your-war -a your-app-name -i path-to-your-tomcat-users.xml
これで API Server にログインできるようになりました。必要な接続プロパティの設定、テーブルへのアクセス許可、OData クエリの実行については、ヘルプドキュメントの「はじめに」の章をご覧ください。