SAP BTP - CF(Cloud Foundry)에 HANA Cloud Database가 연결된 DB 배포하기
- CF CLI 버전 확인
cf -v
-
Cloud Foundry 로그인
- SAP HANA Query를 사용하기 위해 Node.js APP 하나 만들기.
npm init -y
- server.js 생성 후에 실행
var express = require('express');
var hana = require('@sap/hana-client');
var app = express();
app.get('/', function (req, res){
res.send('Hello World');
})
app.get('/Customers', function (req, res){
var connOptions = {
serverNode : '1e48300b-3b35-4003-8340-aa8f2ffb3cc1.hana.trial-us10.hanacloud.ondemand.com:443',
UID : 'USER1',
PWD : 'Password1',
};
var connection = hana.createConnection();
connection.connect(connOptions, function(err){
if (err) {
return console.error(err);
}
var sql = 'SELECT * FROM BJSYSTEMS.CUSTOMER;';
var rows = connection.exec(sql, function(err, rows){
if(err){
return console.error(err);
}
console.log(rows);
res.send(rows);
connection.disconnect(function(err){
if(err){
return console.error(err);
}
});
});
});
})
const port = process.env.PORT || 3000;
var server = app.listen(port, function(){
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s",host,port);
})
node server.js
express가 없어서 오류
npm install express
설치후에 node server.js 명령어를 입력해주니 정상 동작
http://localhost:3000/Customers 로 접속하면 데이터가 정상적으로 출력
해당 어플리케이션을 CF에 배포해보자. nodeCF 폴더에 deployment descriptor manifest.yml 파일 생성 및 다음 코드 입력
---
applications:
- name: nodeQueryCF
random-route: true
type : node.js
path : nodeQueryCF
command : node server.js
memory : 128M
하위 계정에서 인타이틀먼트에 Cloud Foundry Runtime이 있는지 확인
만든 어플리케이션을 배포해주고 아래 명령어는 manifest.yml 경로에서 입력해준다.
cf push
배포가 정상적으로 된 후에 CF의 도메인/Customers를 입력하여 접속하면
여러 방법으로 확인 가능
Service Binding을 동해 on-premise database와도 연결 가능