用途:在 SAP CAP 中实现多租户(SaaS)能力,覆盖租户开通、订阅、升级与每租户数据库隔离。主要能力:使用内置 MTX(推荐)或独立 MTX sidecar;通过 @sap/cds-mtxs 提供租户生命周期钩子(provisioned、deprovisioned、upgraded);支持租户级 CDS 扩展(extensibility);使用 hana-mt 数据库类型经 Service Manager 自动为每个租户分配 HDI 容器。用法要点:安装 npm install @sap/cds-mtxs;在 package.json 的 cds 配置中启用 multitenancy、extensibility、toggles,db.kind 设为 hana-mt,auth.kind 设为 xsuaa;xs-security.json 需设置 tenant-mode 为 shared,并包含 mtcallback 与 mtdeployment 作用域及 $ACCEPT_GRANTED_AUTHORITIES;较大应用可在 mta.yaml 中增加 mtx/sidecar 模块,其 package.json 使用 profile mtx-sidecar;租户扩展可用 cds push --to <MTX地址> --user <用户> 部署。本地测试可启用 multitenancy 并将 db.kind 设为 sqlite、auth.kind 设为 mocked,CAP 会按租户创建独立内存库。限制与注意:不要用 hdi-container(仅单租户),应使用 service-manager;跨租户共享数据不应放入租户 HDI 容器;共享 SaaS 应用不要硬编码 tenant-mode: dedicated;勿遗漏 $ACCEPT_GRANTED_AUTHORITIES;应在 provisioned 钩子中初始化数据;模式升级应通过 MTX 升级 API 而非手动执行。CDS 10 中 @sap/cds-mtxs 为 v4.x,旧 @sap/cds-mtx 与 cds migrate 已移除,未迁移者需先用 v3.x 完成迁移再升级。具体平台与价格信息暂未提供。
multitenancy
通用与其它
更新于 10-16 02:37