DBと連携するODataAPIを作成しました。DBはTrial環境だと気軽に利用できますが、購入して利用する場合はお高いこともあります。DBほどのスペックが必要とされない場合、BTP環境のなかでほかの選択肢としてはPostgreSQLがあります。APIをPostgreSQLでも使えるようにする方法を試してみました。APIがあることを前提としています。APIを作ってみる(2)PostgreSQLのインスタンスを作るまずはTrial環境でPostgreSQLのインスタンスを立てます。MarketplaceからPostgreSQLのサービスを選択して「Create」を押下します。Nameに任意の名称を入力し、インスタンスを作成します。今回は「demoPostgreSQL」としました。それ以外の値は初期値のままです。Subscriptionsから確認できます。Bindingを作成します。Bindingが作成されるとDBのCredentialsが確認できます。PostgreSQLへアクセスするPostgreSQLへアクセスする方法はよくわからないので(VSCodeの拡張機能などからそのままアクセスできると思っていたらそうでもなかったみたいです。)公式ドキュメントの記載に基づいて進めていきます。ローカルからコマンドラインで接続していきます。(記事の環境はwslのUbuntuです。cliで環境へログインし、まずはスペースがSSHアクセスを許容していることを確認します。devデプロイ済みのJavaアプリケーション(capCustom_api)に対してSSH接続を有効にします。(有効化したら一度Restartしたほうがいいみたいです。capCustom_apiJavaアプリケーション(capCustom_api)をSSH接続のトンネルにしてポートフォワードするみたいなので、空いているローカルのポート(63306)を使ってSSH接続をします。Binding作ったときに確認できるCredentialsの内容から設定します。capCustom_apiこんな感じでつながります。ポートフォワードできたので、localhost:63306にアクセスすればPostgreSQLにつながるはずなので、VSCodeに拡張機能「PostgreSQL」を入れて接続してみます。接続設定は以下の通りです。sshの指定値)接続できるようになりました。テーブルとテストデータを作成します。<NVARCHAR(255)>*/);上記でDB側の準備ができました。Bindingを変える必要があるので、MTAのmta.yamlを編集してアプリケーションの接続先を変更します。DBの代わりにPostgreSQLサービスを追加して、Javaモジュールのrequiresに記載します。BTP環境へデプロイmta.yamlを修正したらBuild→Deployを実行します。mta_archives/mtademo_0.0.1.mtarJavaアプリケーションが起動したらUsersエンティティ(/odata/v4/UserService/Users)にアクセスしてみます。PostgreSQLに登録したデータが参照できていることが確認できました!ついでにデータ登録のPOSTリクエストを試してみます。「KYOSO花子」がPostgreSQLに登録されていることが確認できました。Bindingを作り直すとDBのユーザー/パスワードが変更していました。再度Credentialsを確認する必要があります。APIをPostgreSQLにつなぐことに成功しました。システムによってはHANAではなくPostgreSQLを利用する場合もあると思うので、どちらでも利用できる方法があれば便利です。CAPでPostgreSQLを使う場合には制約事項もあるのであらかじめ確認が必要と思いました。