CAP架构: SAP Cloud Application Programming模型简称SAP CAP,是一种架构,一种库,也是用以创建企业级服务和应用的工具。
授权 | 计划 |
---|---|
Application Runtime | 2G |
HANA | hdi-shared |
SAP HANA Cloud | hana |
SAP HANA Cloud | hana-cloud-connection |
SAP HANA Cloud | relational-data-lake |
登陆SAP BTP主控室,进入到自己的子账户中,浏览到Service MarketPlace(应用市场),订阅Application Studio
配置角色集合
从左侧边框栏选择 角色集合 ,点击 “+” 按钮添加新的角色集合。
进入新角色集合BAS,点击编辑添加角色,再添加自己的用户,最后点击保存。
确保至少添加Administrator,Developer角色。
注释:注意应用程序标识符一般以prod-mta开头
在左侧栏中点击 实例和应用, 点击小图标登陆SAP Business Application Studio。
点击 Create Dev Space 建立自己的开发空间。
输入一个开发空间的名称,在这里我们选择全栈云应用。在右侧勾选HANA相关的扩展插件,点击创建按钮,并等待创建完成,之后会自动进入到开发空间。
在欢迎界面上选择 Create project from template。
选择 CAP 磁贴并点击下一步。
输入新项目名称,选择功能 hana,mta 和 samples。
完成项目创建并在在workspace中打开。项目文件结构会按以下方式显示:
所有的示例数据文件都在 db 文件夹里,包含.csv文件和data-model.cds文件。
"@sap/hana-client": "^2.6.61"
"start": "cds run",
"hana": "cds deploy --to hana:mycapdemo-db --auto-undeploy",
"build": "cds build/all --clean"
"hana": {
"deploy-format": "hdbtable"
}
"kind": "hana"
注释: 字段 "name": "mycapdemo" 和hana实例名 “mycapdemo-db” 保持对应关系。这样做将会大大降低后续步骤中手动改配置的工作。
{
"name": "mycapdemo",
"version": "1.0.0",
"description": "A simple CAP project.",
"repository": "<Add your repository here>",
"license": "UNLICENSED",
"private": true,
"dependencies": {
"@sap/cds": "^5",
"express": "^4",
"@sap/hana-client": "^2.6.61"
},
"devDependencies": {
"@sap/hdi-deploy": "^4.2.0",
"sqlite3": "^5.0.2"
},
"scripts": {
"start": "cds run",
"hana": "cds deploy --to hana:mycapdemo-db --auto-undeploy",
"build": "cds build/all --clean"
},
"eslintConfig": {
"extends": "eslint:recommended",
"env": {
"es2020": true,
"node": true,
"jest": true,
"mocha": true
},
"globals": {
"SELECT": true,
"INSERT": true,
"UPDATE": true,
"DELETE": true,
"CREATE": true,
"DROP": true,
"CDL": true,
"CQL": true,
"CXL": true,
"cds": true
},
"rules": {
"no-console": "off",
"require-atomic-updates": "off"
}
},
"cds": {
"requires": {
"db": {
"kind": "hana"
}
},
"hana": {
"deploy-format": "hdbtable"
}
}
}
npm install
npm run hana
CDS工具将会自动完成数据库表的创建,不需要手动创建。另外将从BTP中自动获取数据库的登陆凭证,并保存在default-env.json文件中。
返回到SAP BTP主控制台,浏览到你的子账户,检查实例菜单,确认 capdemo-db 存在。
npm start
执行完命令行,点击“Open in new tab” 测试我们的cds.service是否正常工作。如果能正常看到此页面,则说明你的cds.service已经正常工作了。
注释: 如果你先前在定义hana实例名称时保持了“项目名称-db”这样的格式未做更改,则请跳过这一步
## Generated mta.yaml based on template version 0.4.0
## appName = mycapdemo
## language=nodejs; multiTenant=false
## approuter=
_schema-version: '3.1'
ID: mycapdemo
version: 1.0.0
description: "A simple CAP project."
parameters:
enable-parallel-deployments: true
build-parameters:
before-all:
- builder: custom
commands:
- npm install --production
- npx -p @sap/cds-dk cds build --production
modules:
# --------------------- SERVER MODULE ------------------------
- name: mycapdemo-srv
# ------------------------------------------------------------
type: nodejs
path: gen/srv
requires:
# Resources extracted from CAP configuration
- name: myhana-db
provides:
- name: srv-api # required by consumers of CAP services (e.g. approuter)
properties:
srv-url: ${default-url}
# -------------------- SIDECAR MODULE ------------------------
- name: mycapdemo-db-deployer
# ------------------------------------------------------------
type: hdb
path: gen/db
parameters:
buildpack: nodejs_buildpack
requires:
# 'hana' and 'xsuaa' resources extracted from CAP configuration
- name: myhana-db
resources:
# services extracted from CAP configuration
# 'service-plan' can be configured via 'cds.requires.<name>.vcap.plan'
# ------------------------------------------------------------
- name: myhana-db
# ------------------------------------------------------------
type: com.sap.xs.hdi-container
parameters:
service: hana # or 'hanatrial' on trial landscapes
service-plan: hdi-shared
properties:
hdi-service-name: ${service-name}
modules:
# --------------------- SERVER MODULE ------------------------
- name: mycapdemo-srv
# ------------------------------------------------------------
type: nodejs
path: gen/srv
parameters:
routes:
- route: "mycapdemo.apps.sap-samples.scpcloud.top"
requires:
# Resources extracted from CAP configuration
cf deploy mta_archives/mycapdemo_1.0.0.mtar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
39 | |
25 | |
17 | |
13 | |
7 | |
7 | |
7 | |
7 | |
6 | |
6 |