進入 SAP BTP cockpit:

把 CloudFoundry API endpoint 抄下來:
https://api.cf.us10.hana.ondemand.com/
收到如下輸出:
Setting API endpoint to https://api.cf.us10.hana.ondemand.com/…
OK
使用 cf login 登入:
安裝對應的依賴:
npm install --save-dev @sap/hdi-deploy
在項目檔案夾根目錄的
.cdsrc.json
檔案裡,添加如下的配置:
{
"build": {
"target": "."
},
"hana" : {
"deploy-format": "hdbtable"
}
}
建立一個 HANA Cloud 執行個體:
允許所有 ip:
建立之後,等到其處于 Running 狀态:
使用如下指令行進行部署:
cds deploy --to hana:bookstore-hana
在 gen 檔案夾下生成了大量的 .hdbview 檔案:
除了初始化 SAP HANA 資料庫之外,cds deploy 指令還在 項目根檔案夾中建立了一個名為
default-env.json
的檔案。 此檔案包含一組
credentials
,用于連接配接到由指令建立的 SAP HANA HDI 容器。 CAP Java 能夠自動從此檔案中擷取 SAP HANA
credentials
,并将本地運作的應用程式配置為使用 SAP HANA HDI 容器作為資料庫。
将應用程式部署到雲時,Cloud Foundry 将通過 Open Service Broker API 将憑據作為服務綁定提供給應用程式。 同樣在這種情況下,CAP Java 将自動擷取 SAP HANA 憑據并為您配置應用程式,您将在下一個教程中看到。
所描述的功能可作為 CAP Java 中的插件使用。 是以,需要在項目中添加一個額外的 Maven 依賴項。 該依賴項将能夠從 default-env.json 讀取 SAP HANA 服務綁定,以自動配置 SAP HANA 連接配接。 此外,它還包括 SAP HANA JDBC 驅動程式。
需要在
pom.xml
裡增添如下依賴性:
<dependency>
<groupId>com.sap.cds</groupId>
<artifactId>cds-feature-hana</artifactId>
</dependency>
使用指令行啟動應用:
mvn spring-boot:run -Dspring-boot.run.profiles=cloud
Java 系統屬性 -Dspring-boot.run.profiles=cloud 確定使用 SQLite 作為資料庫的預設配置(仍在 application.yaml 中定義)不會被激活。
可以觀察日志行 Loaded default-env.json from directory ‘/home/user/projects/bookstore’ 和 Registered primary ‘DataSource’ bean definition for connected service ‘bookstore-hana’,這表明選擇了 SAP HANA 配置被 Java 應用采納了。
打開 url:
https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/
使用 curl 建立一條新的訂單:
curl -X POST http://localhost:8080/odata/v4/OrdersService/Orders
-H “Content-Type: application/json”
-d ‘{ “currency_code”: “USD”, “items”: [ { “book_ID”: “b7bca6dd-0497-465e-9a5a-56f244174c8c”, “amount”: 1 } ] }’
成功生成了一條訂單,id 如下:
使用這個 url 能查詢到剛剛生成的訂單:
https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/odata/v4/OrdersService/Orders