后端与接口
在 SAP BTP 上搭建和管理 Cloud…
当需要在 SAP BTP 各环境之间传输 MTA、ABAP 或应用内容,并配置传输节点、路由、导入队列、目标端和 CI/CD 集成时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 SAP BTP 上搭建和管理 Clo特定
解决思路
- 配置 Entitlements:进入 Global Account > Entitlements > Entity Assignments > Add Service Plans,选择 Cloud Transport Management,应用计划选 standard、free 或 build-runtime,实例计划选 standard、export 或 transport_operator(实例计划需先有应用计划,export 用于 CI/CD 流水线)。
- 订阅服务:进入 Services > Service Marketplace,搜索 Cloud Transport Management,从 Actions 菜单选择 Create,选择订阅计划(standard、free 或 build-runtime),确认状态为 Subscribed。
- 设置角色集合:使用预置的 TMS_LandscapeOperator_RC 和 TMS_Viewer_RC,按需分配 Administrator、LandscapeOperator、TransportOperator、ImportOperator、ImportSelectedOperator、ExportOperator、Viewer 角色,在 Security > Role Collections > [Collection] > Edit > Users 中分配用户。
- 创建服务实例和密钥:在子账户中创建 Cloud Foundry space,进入 Services > Instances and Subscriptions > Create,选择服务 Cloud Transport Management、计划 standard(实例类型)、运行时 Cloud Foundry,然后创建服务密钥,获取 uaa.clientid、uaa.clientsecret、uaa.url 和 uri。
- 配置传输节点:创建物理节点(实际部署端点,如 Cloud Foundry space)或虚拟节点(用于聚合/分发的占位符),设置 Name(区分大小写,Content Agent 场景需匹配 sourceSystemId)、Allow Upload to Node、Forward Mode(Pre-Import 默认、Post-Import、On Success、Manual)、Content Type(MTA、BTP ABAP、Application Content、XSC DU)、Destination 和 Deployment Strategy(default 或 blue-green,仅 MTA on CF)。
- 配置传输路由:连接传输节点,注意约束——一个节点只能作为一个路由的目标,但可作为多个路由的源。
- 使用 Transport Landscape Wizard 配置简单景观:选择模板(节点数量)、配置每个节点、自定义路由名称、检查并完成,适用于 2-3 个节点的简单景观。
- 配置到 TMS 服务的目标(源环境):在 SAP BTP Cockpit > Connectivity > Destinations 中创建,Name 为 TransportManagementService(或应用特定名称),Type 为 HTTP,URL 为服务密钥的 uri,Authentication 为 OAuth2ClientCredentials,Client ID 为 uaa.clientid,Client Secret 为 uaa.clientsecret,Token Service URL 为 uaa.url + /oauth/token,附加属性 sourceSystemId 设为源节点名称。
- 配置 MTA 部署目标(Cloud Foundry)——基础认证方式(仅 SAP ID 用户):URL 为 https://deploy-service.cf.<domain>/slprot/<org>/<space>/slp 或 https://deploy-service.cf.<domain>/slprot/<guid>/slp,Authentication 为 BasicAuthentication,User 为具有 SpaceDeveloper 角色的平台用户邮箱;用 cf space <space-name> --guid 获取 space GUID,对 org/space 名称中的特殊字符进行 URL 编码。
- 配置 MTA 部署目标(Cloud Foundry)——OAuth2Password 方式(支持自定义 IdP):URL 同上,Authentication 为 OAuth2Password,Client ID 为 cf,Client Secret 留空,Token Service URL 为 https://login.cf.<domain>。
- 配置 BTP ABAP Environment 目标:URL 为 https://<instance>.abap.<region>.hana.ondemand.com/sap/opu/odata4/sap/a4c_mswc_api/srvd_a2x/sap/manage_software_components/0001/,Authentication 为 BasicAuthentication,User 为来自 SAP_COM_0948 的通信用户。
- 执行导入队列操作:Import All(按顺序导入队列中所有请求,适用于所有内容类型)、Import Selected(导入特定请求,可能造成不一致,不适用于 BTP ABAP)、Import Upto(导入到所选请求为止的所有请求,仅 BTP ABAP);可导入状态为 Initial、Fatal、Repeatable。
- 上传文件:最大文件 1 GB(free 计划 500 MB),存储配额 standard 50 GB、free 500 MB,最终状态后保留 30 天(free 7 天),格式支持 .mtar(MTA)、.tgz(XSC DU)、.zip(Application Content)。
- 配置调度:支持 Daily(每小时、每天 4 次)或 Weekly(指定日期/时间)模式;连续 3 次以上致命失败且持续 3 周以上会自动停用。
- 启用自动导入:按节点启用,立即处理所有可导入请求并在新请求到达时触发。
- 监控传输请求状态:导入状态包括 Initial、Running、Succeeded、Warning、Error、Fatal、Skipped、Repeatable、Deleted、Transient;生命周期状态包括 Modifiable、Released、Deleted、Archived。
- 排查常见错误:Not Found 通常是 CF 域错误(用 cf api 核对)或特殊字符未编码(用 space GUID);Forbidden 通常是缺少 SpaceDeveloper 角色(在 BTP Cockpit 或 CF CLI 添加)或 IdP 错误(用带 origin 属性的 OAuth2Password);ABAP 连接被拒通常是 URL 模式错误(核对 SAP_COM_0948 通信安排 URL);导入卡住通常是状态未终结(查看 Transport Action Logs 找根因)。
- 排查 MTA 部署错误:Not Found 时核对域与 CF API 端点一致(cf api)、用 space GUID 替代名称、URL 编码特殊字符(+ → %2B,空格 → %20);Forbidden 时用 cf space-users <org> <space> 核对用户角色,自定义 IdP 用户改用 OAuth2Password 认证。
- 提交 SAP 支持:组件为 BC-CP-LCM-TMS,需提供区域、子账户 ID、复现步骤、传输操作日志和截图。
- 按 API 访问需求选择服务计划:standard 为完整 API 访问,export 仅导出操作(CI/CD),transport_operator 仅导入、重置、转发、删除。
- 使用节点级限制:通过 TmsNodesTransportOperator、TmsNodesImport、TmsNodesExport 属性将角色限制到特定节点。
- 集成 CI/CD:使用 SAP Continuous Integration and Delivery 或 Project Piper 配合 export 服务计划。
- 配置告警通知:设置 ALERT_NOTIFICATION_SERVICE 目标,接收 TmsImportFinished、TmsImportStarted、TmsTransportRequestAdded、TmsNodeImportJobDeactivated、TmsStorageQuotaUsage(85% 阈值)等通知。
- 使用 API 操作:File Upload(上传内容归档)、Node Export(附加文件到新请求并转发到目标节点)、Node Upload(上传到特定节点,用于 CI/CD 场景)、Import 操作(异步,用 Get transport action 监控)。
适用边界 · 注意事项
- 不使用 SAP BTP 或不需要在 BTP 各环境之间传输软件交付物的场景。
- 没有全局账户管理员权限或没有启用 Cloud Foundry 环境的子账户时无法完成初始设置。
- 需要恶意软件扫描时——TMS 不执行恶意软件扫描,由目标应用负责(例外:MTA 部署描述符会被校验)。